算法推薦,必讀的6本經典神書。


有一句話同學們應該都非常耳熟了:“編程=算法+數據結構”。
數據結構是程序的骨架,算法是程序的靈魂,但是很多CS出身的朋友都沒能真的搞懂這兩者…… 

為此幫大家篩選了6本口碑極佳的書籍,希望能幫助同學們更好的了解算法與數據結構,拿下高薪offer。

入門:

1.《算法圖解》

非常適合0基礎的同學來學習,最大賣點就是用圖來解釋算法,不枯燥。代碼示意還是基於Pytho。絕對不會是《算法導論》一樣讓你直接從入門到放棄……每章都是設定一個場景問題,再用合適的算法去求解。的確和副標題寫的一樣,是一本“像小說一樣有趣的算法入門書”

 

 

 

口碑:豆瓣8.4分,1200人評分。

 

2.《漫畫算法》

其實能看出來作者很用心,定位和《算法圖解》接近。不過是漫畫形式,輕松有趣。邏輯清晰,通俗易懂。

 

 

 

口碑:豆瓣9.1分,76人評分。

 

 

3.《算法》

Robert Sedgewick大神作品,基於 Java 進行代碼實現,推薦有點基礎的同學用這本書入門,也是經典入門書籍了。

用這本書中文版譯者的來說,這本書有五大優點:①圖示清晰易懂:隨便翻開這本書的一頁,你會看到什么?

圖,圖,還是圖。這本書之所以厚,示意圖多是一個主要原因。看完全書,紙上全是字的頁碼非常的少。和國內教材的枯燥說教相比,這本書的圖示可以讓你從一個全新的角度理解以前你可能已經學習過的許多算法。


②代碼量少:Java成為新一代的教學語言是有原因的。Java的面向對象以及垃圾收集等特性使得讀者和學生可以最大限度的將注意力集中到算法本身上去。這本書中的所有代碼都不超過一頁,只有很少的幾處會有連續兩、三頁的代碼,但每一頁也都自成體系。這一點我非常欣賞,因為翻頁會中斷讀者的思路。


③數學要求低:看過《算法導論》么?看過《計算理論》么?里面的證明是不是很讓人抓狂?這種事情在這本書里不存在。這本書是從一個“實用”的角度來看算法。什么是證明算法有用好用實用的最好辦法?除了理論上的保證之外,實現的簡潔、運行時間的數字才是王道。這本書里用的最多的就是數學歸納法,因為很多代碼都是遞歸的。很少的地方用到了概率論。只有最后一章講了一個比較深奧的Cook-Levin定理。不過說實在的我覺得作者並沒有講清楚,讀者記住結論、領會精神也就好了。


④API設計:書中所有的算法都有一份自己的API。作者在書中實踐了“契約式”編程,並向讀者展示了這種方式的妙處。關於API設計,作者也總結了一些原則,並用Java的標准庫中的一些類做為例子進行了分析。這些分析無論是對剛剛入行的新手還是對老程序員都是非常有價值的。


⑤科學方法:這一點才是這本書的精髓。為什么這么說?因為中國學生缺少的正是這些。不要覺得第一章有250頁,而其他講解具體算法的任何一個章節都沒有第一章長,就覺得第一章是在浪費版面。

作者在第一章之中為全書打下了基調,而科學的方法就是其中最重要的部分。所有算法的講解方式,都遵循了“猜想-實驗”的循環。這是人類探索自然的方式,也是科學研究的方式,也是我們所缺少的“科學精神”。

 

 

 

 

口碑:豆瓣9.4分,1034人評分。

 

經典:

1.《算法導論》

如果你能自學《算法導論》,並且全讀完、讀懂了。我敬你是條漢子……

最好是有一個大佬貼身帶着你學,不然的話這本書中有非常多算法的正確性、復雜度的證明、推導,數學公式,有的題目答案甚至要寫6-7張紙……

 

 

 

口碑:豆瓣9.3分,4900人評分。

 


2.《數據結構與算法分析》

 

系統、全面、嚴謹,而且又不是特別難,是中外不少學校的教材。並且還有多編程語言版本。

 

 

 

 

 

口碑:豆瓣8.9分,1800人評分。

 

 


3.《計算機程序設計藝術》

 

作者:Donald Knuth,神一樣的男人,這本書簡直就是藝術品!

 

第一卷於1968年推出,可真正能讀完讀懂的人為數並不多(傳比爾•蓋茨費時幾個月才讀完一卷,然后說:“如果你想成為一個優秀的程序員,那就去讀這個吧。”)建議想學數據結構和算法方面的同學,可以先買一本,哪怕看不懂也可以供起來。

 

 

 

 

口碑:豆瓣9.4分,500人評分。

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM