中文字幕在线观看,亚洲а∨天堂久久精品9966,亚洲成a人片在线观看你懂的,亚洲av成人片无码网站,亚洲国产精品无码久久久五月天

程序員必備的數(shù)據(jù)結(jié)構(gòu)與算法書單

2018-09-30    來源:raincent

容器云強勢上線!快速搭建集群,上萬Linux鏡像隨意使用

“算法,先于計算機存在于世,比編程語言本身更為重要。語言只是工具,算法才是靈魂。”

這是云風(fēng)在《游戲之旅:我的編程感悟》這本書里一個非常經(jīng)典的表述。

市面上算法書比比皆是,究竟哪些書值得看,哪些書適合什么基礎(chǔ)的人來看呢?

鑒于此,我針對不同層次、不同語言的程序員,我分別選擇了不同的書。你可以看看自己究竟處于哪個層次,來對癥下藥。希望每位想在數(shù)據(jù)結(jié)構(gòu)與算法上得到提升的同學(xué),都能找到適合自己的學(xué)習(xí)資料,都能在現(xiàn)有水平上有所提高。

 

 

針對入門的趣味書

如果你是入門的同學(xué),我推薦你閱讀《大話數(shù)據(jù)結(jié)構(gòu)》和《算法圖解》這兩本書。

《大話數(shù)據(jù)結(jié)構(gòu)》這本書最大的特點是,它把理論講得很有趣,不枯燥。而且每個數(shù)據(jù)結(jié)構(gòu)和算法,作者都結(jié)合了生活中的例子,能讓你有非常直觀的感受。雖然這本書有 400 頁,但是花兩天時間讀完應(yīng)該是沒問題的。所以,如果你之前完全不懂?dāng)?shù)據(jù)結(jié)構(gòu)和算法,可以先從這本書看起。

《算法圖解》這本書跟《大話數(shù)據(jù)結(jié)構(gòu)》走的是同樣的路線,就像這本書副標(biāo)題寫的那樣,“像小說一樣有趣的算法入門書”,主打“圖解”,通俗易懂。它只有不到 200 頁,所以內(nèi)容也比較少。作為入門,看看這本書,能讓你對數(shù)據(jù)結(jié)構(gòu)和算法有個大概的認(rèn)識。

針對入門的同學(xué),我推薦書的依據(jù)是看厚度!端惴▽(dǎo)論》、《算法》這些書雖然比較經(jīng)典、比較權(quán)威,但是非常厚。初學(xué)就去啃這些書肯定是比較費勁的。而一旦學(xué)不下來,挫敗感就會很強。所以,如果是入門,我建議找一些比較薄的書來看。不要太在意書寫得深淺,重要的是能不能堅持看完。

但是如果想要系統(tǒng)地學(xué)數(shù)據(jù)結(jié)構(gòu)和算法,看這兩本書肯定是不夠的。這些入門書共同的問題是,缺少細(xì)節(jié),不夠系統(tǒng),也不夠嚴(yán)謹(jǐn)。所以,如果你已經(jīng)有了一定基礎(chǔ),這兩本書就滿足不了你的需求了。

針對特定編程語言的教科書講數(shù)據(jù)結(jié)構(gòu)和算法,肯定會跟代碼實現(xiàn)掛鉤。所以,很多人就很關(guān)心,某某書籍是用什么語言實現(xiàn)的,是不是自己熟悉的語言。市面大部分?jǐn)?shù)據(jù)結(jié)構(gòu)和算法書籍都是用 C、C++、Java 語言實現(xiàn)的,還有些是用偽代碼。

所以,我首先推薦《數(shù)據(jù)結(jié)構(gòu)和算法分析》。國內(nèi)外很多大學(xué)都拿它當(dāng)作教材。因為這本書非常系統(tǒng)、全面、嚴(yán)謹(jǐn),而且又不是特別難,適合對數(shù)據(jù)結(jié)構(gòu)和算法有些基本了解,并且掌握了至少一門編程語言的同學(xué)。而且,這個作者也很用心,他用了三種語言,寫了三個版本,分別是:《數(shù)據(jù)結(jié)構(gòu)與算法分析 : C 語言描述》、《數(shù)據(jù)結(jié)構(gòu)與算法分析 : C++ 描述》、《數(shù)據(jù)結(jié)構(gòu)與算法分析 : Java 語言描述》。

面試必刷的寶典

算法對于面試很重要,很多人也很關(guān)心。我這里推薦幾本有益于面試的書籍,分別是《編程之美》、《劍指 offer》、《編程珠璣》。

從《劍指 offer》這本書的名字就可以看出,作者的寫作目的非常明確,就是為了面試。這本書幾乎包含所有常見的、經(jīng)典的面試題,所以只要能搞懂里面的內(nèi)容,應(yīng)付一般公司的面試應(yīng)該不成問題。

《編程珠璣》這本書的豆瓣評分非常高,有 9 分之高。這本書最大的特色是講了很多針對海量數(shù)據(jù)的處理技巧。這個可能是其他算法書籍很少涉及的。面試的時候,海量數(shù)據(jù)處理的問題也是經(jīng)常被問到的,特別是校招面試,所以不管是開拓眼界,還是應(yīng)付面試,這本書都值得一看。

《編程之美》這本書的作者,絕大部分都是微軟的工程師,所以質(zhì)量很有保證。不過,這里面的算法題目稍微有點難,也不是很系統(tǒng),這也是為什么我把它歸到面試這一部分的原因。如果你有一定基礎(chǔ),也喜歡鉆研些算法問題,或者是要面試 Google、Facebook 這樣的公司,可以拿用這本書里的題,先自測一下。

經(jīng)典大部頭

如果前面推薦的書籍你都沒聽過,那下面這兩本你肯定不會陌生,那就是《算法導(dǎo)論》和《算法》。很多人一提到算法書籍就會搬出這兩本,不過這兩本雖然經(jīng)典、出名,但也都特別厚,看起來很費勁。我估計全書讀下來的人沒多少。但是如果你想對數(shù)據(jù)結(jié)構(gòu)和算法已經(jīng)有更深入的了解,我還是非常建議你看看。

我個人覺得,《算法導(dǎo)論》這本書的章節(jié)安排的先后順序不是很循序漸進,里面充斥著各種算法的正確性、復(fù)雜度的證明、推導(dǎo),數(shù)學(xué)公式比較多,一般人看起來都會比較吃力。

《算法》這本書也是一本經(jīng)典大部頭,不過它比起《算法導(dǎo)論》來要友好很多,更容易看懂,更適合初學(xué)者入門。但是這本書的缺點也很明顯,就是內(nèi)容不夠全面,比如動態(tài)規(guī)劃這么重要的知識點這本書就沒有講。對于數(shù)據(jù)結(jié)構(gòu)的東西,它講的也不多,基本就是偏重講算法。

殿堂級經(jīng)典

如果說《計算機程序設(shè)計藝術(shù)》敢稱數(shù)據(jù)結(jié)構(gòu)與算法界的經(jīng)典書第二,應(yīng)該無人敢稱第一。這本書包括很多卷。說實話,我也只看過比較簡單的幾卷,比如《基本算法》、《排序和查找》。

這套書的深度、廣度、系統(tǒng)性、全面性是其他所有數(shù)據(jù)結(jié)構(gòu)和算法書籍都所無法相比的。但是,如果你不是對算法和數(shù)據(jù)結(jié)構(gòu)特別感興趣,沒有很好的數(shù)學(xué)、算法、計算機基礎(chǔ),想要把這些書都讀完讀懂是比較難的。你可以把它當(dāng)作你算法學(xué)習(xí)的終極挑戰(zhàn)。

標(biāo)簽: Google 代碼

版權(quán)申明:本站文章部分自網(wǎng)絡(luò),如有侵權(quán),請聯(lián)系:west999com@outlook.com
特別注意:本站所有轉(zhuǎn)載文章言論不代表本站觀點!
本站所提供的圖片等素材,版權(quán)歸原作者所有,如需使用,請與原作者聯(lián)系。

上一篇:Uber開源Marmaray:基于Hadoop的通用數(shù)據(jù)攝取和分散框架

下一篇:TensorFlow 1.11.0正式版發(fā)布了,強力支持Keras