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

有一句話同窗們應該都很是耳熟了:「編程=算法+數據結構」。
數據結構是程序的骨架,算法是程序的靈魂,可是不少CS出身的朋友都沒能真的搞懂這二者…… 程序員

爲此幫你們篩選了6本口碑極佳的書籍,但願能幫助同窗們更好的瞭解算法與數據結構,拿下高薪offer。算法

入門:編程

1.《算法圖解》

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

 

 

 

口碑:豆瓣8.4分,1200人評分。數據結構和算法

 

2.《漫畫算法》

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

 

 

 

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

 

 

3.《算法》

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

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

圖,圖,仍是圖。這本書之因此厚,示意圖可能是一個主要緣由。看徹底書,紙上全是字的頁碼很是的少。和國內教材的枯燥說教相比,這本書的圖示可讓你從一個全新的角度理解之前你可能已經學習過的許多算法。對象


②代碼量少: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人評分。

相關文章
相關標籤/搜索