算法最開始是數學概念,我國古代稱之為“術”,最早出現在《周髀算經》和《九章算術》中。而現代計算機中的算法的定義,則是在阿朗佐·丘奇 和他的學生艾倫·圖靈的丘奇-圖靈論文基礎上建立的。
在脫離實踐應用的時候,算法和“術”都是比較枯燥且難以理解的,所以大多數人學算法的時候都希望教程、書籍可以更有效地消除算法與實際問題之間的溝壑,從而真正地理解算法,并且知道如何選擇、設計算法來解決問題。
小異這次就挑選了幾本很好處理了這個問題的算法好書,其中的示例有的來自真實業務項目、有的來自有趣故事、有的來自經典題例、有的來自頂尖科技企業面試、有的來自奇妙的大自然,都把算法落實到了問題上。
不同層次和需求的讀者,都能找到適合自己的算法書,去理解算法思想,解決實際問題。
01
計算之魂
豆瓣評分9.3!用世界頂尖科技企業面試題來鍛煉自己的計算思維。
吳軍老師總結了信息技術行業的發展鐵律:對計算機科學的掌握程度,決定了一個計算機行業從業者能走多遠。
在這本書中,他用不同層次的解決思路和方法詳細闡述了每道題目背后的計算機科學精髓,幫讀者充分理解題目和算法之外,更理解企業通過面試題想要了解面試者的何種能力和特質。
通過學習本書,讀者不僅能掌握堅實的算法知識,也能更深層次地了解計算機科學、認識信息技術產業的技術特點,從而掌握進階自身的籌碼。
021
趣學算法(第2版)
簡單,簡單,更簡單!這就是作者寫《趣學算法》的初衷。
本書是通過趣味故事引出算法問題,然后分析算法本質、并給出代碼實現的詳細過程和運行結果。對新手來說,不用去看高深的原理,不用去解枯燥的數學公式,就是優先選擇了。
正是因為面向真正的新手,本書從示例到代碼、從圖示到問題描述,都是最大程度上的簡潔、通俗易懂,初中生都能毫無壓力地讀懂算法。
對新手來說,從實踐中認識算法是更直接且高效的方法,本書作為新手算法入門是一個不錯的選擇。
03
編程珠璣 第2版
豆瓣評分9.1,這是一本真正的計算機科學經典名著,激勵了無數程序員。
作為影響算法發展的十位大師之一喬恩·本特利圍繞性能問題,在本書中討論了計算機科學本質問題:如何正確地選擇和高效地實現算法。
本書最大的特點就是精悍且深邃,作者使用有趣的案例來描述算法本質,而不是代碼實現,意在讓讀者充分理解解決問題的思想。所以如書名所言,其中內容字字珠璣,寥寥數語就道盡算法的使用場景、技術解析和應用擴展。
本書適合有一定基礎的讀者閱讀,通過反復閱讀認真體會大師的編程思想,化為己用而達到算法進階。
04
編程珠璣 續
這是《編程珠璣》的姊妹篇,起于算法而不止講算法。
本書除了講絕妙的取樣算法、數值算法、選擇算法之外,主要講解了一些作者自己總結的編程中的使用技巧,比如關聯數組、監控性能、估算等。每一個部分,他都對問題進行了清晰而簡潔的描述,然后對其進行分析,給出解決思路、方法,并解釋其原理。
作者針對書中提到的問題都設計了有趣而具指導意義的程序,并闡述了這些程序設計的原則與技巧,能夠有效幫助讀者提升開發能力。
05
算法設計
豆瓣評分9.3!本書凝練了康奈爾大學多年來在算法教學上的積累,是諸多名校都在使用的經典教材。
本書側重算法的設計思路,每一個章節都是從實際問題出發,然后對問題進行具體的分析引出相應的算法設計思想,并對其正確性和復雜性進行合理的論證。
這種把算法理論與實際問題結合起來的方式,能夠更有效地幫助讀者認識算法的原理,并更快地掌握算法在實際編程中的應用,面試算法題簡直手到擒來。
書中200多個習題,都是在歷次算法課堂上經過無數學生討論過的,充分體現了算法在各個領域中的應用與實現,讀者可以通過練習題,循序漸進地鞏固、加深對算法的認識。
061
數據結構與算法之美
小爭哥認為算法學習同樣應該從實際應用中進行,枯燥的原理和公式會嚴重打消讀者的學習積極性。
所以在本書中他用100多個真實的案例、300多張易懂的手繪圖,對20個經典數據結構和算法進行了充分的剖析講解。通過對問題本身的認識,讀者可以更深刻地理解在什么場景下選擇什么的數據結構和算法,從而滿足實際的開發需求。
使用這本與應用場景強相關的書學習算法,能夠讓讀者快速掌握算法知識點的同時,強化其開發能力,在應對業務問題與算法面試時能夠從容不迫。
06
人工智能算法 卷3 深度學習和神經網絡
深度學習和卷積正將神經網絡帶入一個全新的方向!
本書是深度學習和神經網絡算法專題,演示了各種現實世界任務中的神經網絡,例如圖像識別和數據科學。我們研究了當前的神經網絡技術,包括ReLU 激活、隨機梯度下降、交叉熵、正則化、Dropout 及可視化等。
書中的示例適配多種編程語言,所以讀者不會因沒掌握某種特定語言而形成閱讀障礙。同時書中會介紹必要的微積分、線性代數、微分方程與統計學等公式,讀者也無須有相關知識儲備。
當然,有大學代數水平基礎數學知識是非常有必要的。
07
人工智能算法 卷2 受大自然啟發的算法

大自然是人工智能算法的重要靈感來源。
本書主要介紹遺傳算法、蟻群優化和粒子群優化等算法,而這些算法的靈感都是來自大自然的基因、螞蟻、鳥類等事物。當然,書中對這些算法的應用介紹也是重要的內容。
書中所有算法講解都用到了具體的數值,所以計算的時候更為具體,減少了抽象,理解難度大大降低。
書中示例代碼同樣有多種語言的實現,并且都通過了驗證,可以正常運行。
08
人工智能算法 卷1 基礎算法
算法是人工智能技術的核心。
本書主要圍繞維度法、距離度量算法、K 均值聚類算法、誤差計算、 爬山算法、模擬退火算法、Nelder-Mead 算法和線性回歸算法等基礎算法展開講解。
如果你想入門人工智能,或者對人工智能算法感興趣,這本書是一個不錯的選擇。而且書中所有代碼都有多種語言的實現,讀者可以選擇自己熟悉的語言代碼,來更直接地理解算法實現。
每個示例中都應用了具體的數值,讀者可以自行嘗試計算運行,體驗神奇的算法。
09
百面機器學習 算法工程師帶你去面試
機器學習崗位面試常見算法全解!
本書收集了超過100道機器學習的題目,它們大部分在近年算法工程師的筆試、面試中出現過,作者試圖從實際應用出發,給出詳細的解答,打通從理論到應用的障礙。
作為機器學習初學者,可以根據書中刷題指南,循序漸進地一個個把機器學習算法問題全搞定,輕松應對大廠面試。如果讀者是機器學習從業者,也能根據自己的業務要求,結合實際開發場景,擴展于都深入研究,精進技術成為專家。
如果讀者是技術管理人員,可以構建機器學習的技術體系,確定合適的項目解決方案,同時也能作為面試寶典用來尋找合適的技術人才。
10
百面深度學習 算法工程師帶你去面試
一書搞定深度學習崗位面試常見算法!
深知多數人覺得算法難的原因是在于算法與實際問題很多時候并不易發生聯系,所以諸葛越與30多位算法研究員和工程師共同努力,收集了大量深度學習算法和應用兩部分的面試問題與真實案例,讓讀者可以直接地體驗深度學習算法在實際項目中的應用情況。
本書是《百面機器學習:算法工程師帶你去面試》的延伸,專注深度學習專題,同樣是一本該方向的面試寶典。






