日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

插入篇 |程序员进阶之推荐书目

發(fā)布時間:2024/3/26 编程问答 28 豆豆
生活随笔 收集整理的這篇文章主要介紹了 插入篇 |程序员进阶之推荐书目 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

針對入門的趣味書

入門的同學(xué),我建議你不要過度追求上去就看經(jīng)典書。像《算法導(dǎo)論》《算法》這些書,雖然比較經(jīng)典、比較權(quán)威,但是非常厚。初學(xué)就去啃這些書肯定會很費(fèi)勁。而一旦啃不下來,挫敗感就會很強(qiáng)。所以,入門的同學(xué),我建議你找一些比較容易看的書來看,比如《大話數(shù)據(jù)結(jié)構(gòu)》和《算法圖解》。不要太在意書寫得深淺,重要的是能不能堅持看完。

《大話數(shù)據(jù)結(jié)構(gòu)》 這本書最大的特點(diǎn)是,它把理論講得很有趣,不枯燥。而且每個數(shù)據(jù)結(jié)構(gòu)和算法,作者都結(jié)合生活中的例子進(jìn)行了講解, 能讓你有非常直觀的感受。雖然這本書有 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)識。

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

針對特定編程語言的教科書

講數(shù)據(jù)結(jié)構(gòu)和算法,肯定會跟代碼實(shí)現(xiàn)掛鉤。所以,很多人就很關(guān)心,某某書籍是用什么語言實(shí)現(xiàn)的,是不是自己熟悉的語言。市面大部分?jǐn)?shù)據(jù)結(jié)構(gòu)和算法書籍都是用 C、C++、Java 語言實(shí)現(xiàn)的,還有些是用偽代碼。而使用 Python、Go、PHP、JavaScript、Object-C 這些編程語言實(shí)現(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 語言描述》。

如果你熟悉的是 Python 或者 JavaScript,可以參考《數(shù)據(jù)結(jié)構(gòu)與算法 JavaScript 描述》《數(shù)據(jù)結(jié)構(gòu)與算法:Python 語言描述》 。至于其他語言的算法書籍,確實(shí)比較少。如果你有推薦,可以在留言區(qū)補(bǔ)充一下。

面試必刷的寶典

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

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

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

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

經(jīng)典大部頭

很多人一提到算法書就會搬出《算法導(dǎo)論》和《算法》。這兩本確實(shí)非常經(jīng)典,但是都太厚了,看起來比較費(fèi)勁,我估計很少有人能堅持全部看下來。如果你想更加深入地學(xué)一學(xué)數(shù)據(jù)結(jié)構(gòu)和算法,我還是強(qiáng)烈建議你看看。

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

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

#殿堂級經(jīng)典
說到殿堂級經(jīng)典書,如果《計算機(jī)程序設(shè)計藝術(shù)》稱第二,我想沒人敢稱第一。這本書包括很多卷。說實(shí)話,我也只看過比較簡單的幾卷,比如《基本算法》《排序和查找》。

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

閑暇閱讀

算法無處不在。我這里再推薦幾本適合閑暇時間閱讀的書:《算法帝國》《數(shù)學(xué)之美》《算法之美》。

這些書共同的特點(diǎn)是,都列舉了大量的例子,非常通俗易懂。夸張點(diǎn)說,像《算法帝國》,文科生都能讀懂。當(dāng)你看這些書的時候,你常常會深深感受到算法的力量,被算法的優(yōu)美之處折服。即便不是從事 IT 工作的,看完這幾本書也可以開拓眼界。

每節(jié)課中有需要代碼實(shí)現(xiàn)的數(shù)據(jù)結(jié)構(gòu)和算法,我都另外用 Java 語言實(shí)現(xiàn)一遍,然后放到 Github 上,供你參考。Github 的地址我放在這里,你可以收藏一下:代碼實(shí)現(xiàn)。

至于其他語言的同學(xué),比如 C、C++、Python、Go、PHP、JavaScript、Object-C 等,我想了一個 crowd sourcing 的方法。

我希望基礎(chǔ)較好的同學(xué),參照我的 Java 實(shí)現(xiàn),用你熟悉的編程語言再實(shí)現(xiàn)一遍,并且將代碼留言給我。如果你寫得正確,我會將你的代碼上傳到 Github 上,分享給更多人。

留言區(qū)經(jīng)典評論

  • 老師推薦的書80以上都看過,總結(jié)一下:
    1:《算法第四版》Java語言寫的,不過動態(tài)規(guī)劃(沒記錯的話)沒有涉及、很厚!這本書挺推薦的、特別是javaer!
    2:《劍指offer》個人覺得題目經(jīng)典都是老題!但是難度好像很一般啊(還是學(xué)生 不太清楚面試內(nèi)容)、然后里面確實(shí)講了一些很細(xì)的東西值得學(xué)習(xí)!還有本書所有題目作者都提供了C代碼和大量的測試案例!nice;
    3:編程珠璣:國外作者,這本書我看了不多 但是初步覺得好像是對超大量數(shù)據(jù)處理的算法!
    4:編程之美:微軟的書、難度較高、題目很深!這本書里面的題 代碼不超過2頁的估計作者都不會選上!!!!書不厚 、一般般
    5:數(shù)據(jù)結(jié)構(gòu)和算法分析:我們大學(xué)教材!我們老師教的書里都有、代碼是偽代碼!
    6:算法導(dǎo)論:這本書我用來墊電腦!很厚 很無聊0.0!!!

  • 老師推薦的書大部分我都了解過,寫一寫我個人的感受吧。
    如果是Java程序員的話,強(qiáng)烈推薦《算法》,書中的代碼特別的簡潔,水準(zhǔn)特別高。書的配套資源也相當(dāng)不錯,B站有教學(xué)視頻、Github有官方代碼、還有專門的測試數(shù)據(jù)。
    至于輕松一些的《大話數(shù)據(jù)結(jié)構(gòu)》,代碼和書的基本源于嚴(yán)蔚敏老師的《數(shù)據(jù)結(jié)構(gòu)》。代碼是C語言,但因為作者沒有考慮工程上的抽象,代碼的水準(zhǔn)并不是特別高,至少,我個人是不太喜歡那種編碼方式。
    《算法圖解》很薄,圖的風(fēng)格我也很喜歡,非常基礎(chǔ),小白入門首選。代碼實(shí)現(xiàn)是基于Python。
    《算法導(dǎo)論》能啃下來,就夠了。但是全書偽代碼,如果能把公式搞懂、代碼自己實(shí)現(xiàn)一次,基本上足以秒殺絕大多人了。如果想讀懂這本書,必要的級數(shù)、概率還是要學(xué)一下的。
    接下來,墊筆記本電腦的《計算機(jī)程序設(shè)計藝術(shù)》。這套書非常偉大,據(jù)說高德納老爺子剛寫了兩卷就拿到了圖靈獎。時間復(fù)雜度理論分析算法也是高德納老爺子奠定的,大半個算法領(lǐng)域的結(jié)論幾乎都是高德納老爺子證明的。如果你真想讀這本書,首先我要告訴你,書中代碼是古老的MIX匯編,其次,你可能需要更多的數(shù)學(xué)基礎(chǔ)。就如同書中所說,必要的復(fù)變函數(shù)的基礎(chǔ)是必要的。
    如果你想提高一下個人的計算機(jī)數(shù)學(xué)功底,為了算法的話,可以讀《離散數(shù)學(xué)及其應(yīng)用》。當(dāng)然,如果你想要啃《算法導(dǎo)論》或者近距離膜拜《計算機(jī)程序設(shè)計藝術(shù)》,推薦高德納老爺子參與編著的《具體數(shù)學(xué)》。
    我自己覺得,掌握《算法導(dǎo)論》一書的90%,就已經(jīng)是非常、非常優(yōu)秀的程序員了。殿堂級的書買回來收藏、墊筆記本電腦或者顯示屏,實(shí)在不行,鎮(zhèn)宅辟邪也是極好的,就沒必要費(fèi)力地讀了。?

  • 總結(jié)

    以上是生活随笔為你收集整理的插入篇 |程序员进阶之推荐书目的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。