不管是在計算的科學與實務上,演算法總是扮演重要的角色。除了傳統的計算之外,對任何一個開發者或程式設計師而言,使用演算法解決實務問題的能力是非常重要且必須具備的技巧。本書不只會幫助你發展選用的技術以及使用演算法以解決實務問題,同時也能理解這些演算法是如何運作的。
本書從演算法的介紹開始,並說明各種演算法的設計技巧,再佐以實際範例來協助探討如何實作不同類型的演算法,諸如搜尋與排序。當你要進階更複雜的演算法集合時,你將會學到線性規劃、頁面排名以及各種圖(graph),甚至跨入AI領域學習如何使用機器學習演算法,並瞭解它們背後的數學與邏輯。隨後將更進一步探討一些案例研究,像是天氣預測、推文分群以及電影推薦引擎等等,瞭解如何應用這些演算法以達到最佳化。最終,你將精通平行處理技術的運用,讓你有能力可以使用這些演算法在計算密集的任務上。
讀完本書,你將精通各式各樣的演算法來解決職場上的電腦運算問題。
本書範例檔:
github.com/packtpublishing/40-algorithms-every-programmer-should-know
本書特色
☛學習現存於Python程式庫中的資料結構及演算法
☛了解如何實作圖形演算法,並藉由網路分析進行詐欺偵測
☛學會使用機器學習演算法,即時進行相似推文的分群並處理Twitter資料
☛學會使用監督式學習演算法預測天氣
☛學會使用Siamese Neural Networks執行單張影像的辨識
☛建立一個推薦引擎,向訂閱者建議相關的電影
☛部署機器學習模型時,使用對稱及非對稱加密,實作萬無一失的安全機制