0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線(xiàn)課程
  • 觀看技術(shù)視頻
  • 寫(xiě)文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

程序員值得一看的9本學(xué)習(xí)算法經(jīng)典書(shū)籍

算法與數(shù)據(jù)結(jié)構(gòu) ? 來(lái)源:未知 ? 2019-01-29 09:14 ? 次閱讀

算法是獨(dú)立于編程語(yǔ)言的,無(wú)論你是什么程序員都可以把它們應(yīng)用到自己的編程語(yǔ)言中去,我遇到過(guò)很多在編程方面很有經(jīng)驗(yàn)的程序員,比如一個(gè)Java程序員非常底層的API細(xì)節(jié)和語(yǔ)言的復(fù)雜性,但對(duì)算法卻知之甚少。

有一次,我面試一個(gè)各項(xiàng)都很優(yōu)秀的開(kāi)發(fā)者,他擅長(zhǎng)Java,多線(xiàn)程,但是他的數(shù)據(jù)結(jié)構(gòu)和算法真的是差到爆,我問(wèn)他,為什么他來(lái)面試之前不花點(diǎn)時(shí)間復(fù)習(xí)他的算法以及相關(guān)的答題的技巧?他的說(shuō)辭是“這些算法只是用于面試,在實(shí)際工作中根本用不著”。確實(shí),在我多年的Java開(kāi)發(fā)生涯中,我確實(shí)沒(méi)有直接使用過(guò)算法,從這一方面來(lái)說(shuō),他是對(duì)的,但是他并沒(méi)有認(rèn)識(shí)到算法和數(shù)據(jù)結(jié)構(gòu)在提高編程技能方面的作用。

相信大家也都知道對(duì)于像BAT這樣的企業(yè),如果你能掌握算法和數(shù)據(jù)結(jié)構(gòu),那是非常加分的,除了UNIX和C語(yǔ)言,核心的編程依然是算法和數(shù)據(jù)結(jié)構(gòu)保持不變。所以,算法對(duì)一個(gè)程序員來(lái)說(shuō)是十分重要的,本文分享9本學(xué)習(xí)算法的好書(shū):

1、《Introduction to Algorithms》

這是一本最受歡迎的算法書(shū),里面包含了大量的理論,這本書(shū)當(dāng)前版本是第三版,我強(qiáng)烈建議每個(gè)程序員在他們的書(shū)架上都應(yīng)該有這本書(shū),但只供簡(jiǎn)短的閱讀和參考,一口氣讀完這本書(shū)是不可能的。我推薦這本書(shū)的另一個(gè)原因是它是關(guān)于算法的第一本書(shū),全面論述了算法的內(nèi)容

2、《算法》

這是我一直以來(lái)學(xué)習(xí)算法的首選書(shū)籍,只是現(xiàn)在翻它的頻率降低了,通過(guò)這本書(shū)你會(huì)學(xué)到很多關(guān)于算法的背景知識(shí),現(xiàn)在這本書(shū)還有針對(duì)不同編程語(yǔ)言的特定版本,如Java和C++,里面涵蓋每位程序員應(yīng)知應(yīng)會(huì)的50種算法,我認(rèn)為每位Java程序員都適合這本書(shū)。

3、《算法設(shè)計(jì)指南》

這本書(shū)設(shè)計(jì)了大量的算法及代碼,我特別喜歡這本書(shū)的一大原因就是它能讓你在實(shí)踐中使用算法,也確實(shí)能夠?qū)崒?shí)在在的幫助你了解特定的算法,并用來(lái)解決特定的問(wèn)題,書(shū)中的代碼示例是用C編寫(xiě)的,但不是很深?yuàn)W很好理解,這本書(shū)我十多年前就買(mǎi)了,到現(xiàn)在依然會(huì)是不是看一下

4、《Algorithms For Interviews》

這是另外一本在面試前必讀的算法書(shū)籍,封面本身就很有趣了,如果你仔細(xì)看,封面上的圖片是用名人的縮略圖繪制而成的,這本書(shū)解釋了如何使用算法,我喜歡這本書(shū)是因?yàn)樗姆椒ǎ嬖V你有些時(shí)候通過(guò)不同的方式去學(xué)一些東西,會(huì)讓你更好的理解他

5、《算法技術(shù)手冊(cè)》

這是一本很贊的學(xué)習(xí)編程算法的書(shū),特別是對(duì)于Java程序員。它描述的算法側(cè)重于實(shí)現(xiàn)它們,而不像其他算法書(shū)記一樣使用的大量數(shù)學(xué)知識(shí)。所有的算法都以模式的形式呈現(xiàn),有解釋圖例和偽代碼,以及示例代碼(使用C、c++、Java和Ruby),當(dāng)然也有相關(guān)的算法基礎(chǔ)理論知識(shí)。簡(jiǎn)而言之,這是程序員學(xué)習(xí)算法的最佳書(shū)籍之一。

6、《算法設(shè)計(jì)》

這實(shí)際上是繼Thomas Cormon的算法導(dǎo)論之后的第二本最好的算法書(shū)。它并不是真正的算法介紹,可能更適合有經(jīng)驗(yàn)的程序員,書(shū)中更側(cè)重于算法設(shè)計(jì)。個(gè)人建議你最好先讀好Robert Sedgewick 的《算法》,然后再來(lái)讀這本書(shū)。

7、《算法引論》

這是一本非常適合自學(xué)的書(shū),因?yàn)槔锩嬗泻芏鄦?wèn)題和例子,它旨在提高讀者解決問(wèn)題的能力和理解算法設(shè)計(jì)背后的原則,這一點(diǎn)將會(huì)大大提高你的編程技巧

8、《算法設(shè)計(jì)與分析基礎(chǔ)》

如果你有一定的基礎(chǔ),建議你把這本書(shū)當(dāng)做你的算法進(jìn)階,本書(shū)是第3版,相對(duì)前版調(diào)整了多個(gè)章節(jié)的內(nèi)容和順序,同時(shí)增加了一些算法,并擴(kuò)展了算法的應(yīng)用,使得具體算法和通用算法設(shè)計(jì)技術(shù)的對(duì)應(yīng)更加清晰有序。

9、《Python算法教程

這本書(shū)是為Python程序員設(shè)計(jì)的,作者M(jìn)agnus Lie Hetland還撰寫(xiě)過(guò)另一本Python入門(mén)書(shū)《 Python基礎(chǔ)教程》,本書(shū)主要介紹圖形算法,前面已經(jīng)說(shuō)過(guò)算法是獨(dú)立于編程語(yǔ)言的,學(xué)習(xí)Python的算法并不代表你無(wú)法用Java實(shí)現(xiàn)它們,但如果你已經(jīng)有Python基礎(chǔ),那么本書(shū)就能很好的幫助你學(xué)習(xí)算法,

寫(xiě)在最后

以上就是今天要和大家分享的算法書(shū),我認(rèn)為算法是一個(gè)非常復(fù)雜的主題,建議同一本書(shū)可以通讀兩遍,不過(guò)死讀書(shū)是沒(méi)有用的,你還要嘗試用你喜歡的編程語(yǔ)言去實(shí)現(xiàn)它們,漸漸地你會(huì)發(fā)現(xiàn)你的思維和代碼質(zhì)量有了明顯的改進(jìn)。最后,我認(rèn)為世界上只有兩種程序員:一種懂算法,一種不懂。

聲明:本文內(nèi)容及配圖由入駐作者撰寫(xiě)或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問(wèn)題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • 算法
    +關(guān)注

    關(guān)注

    23

    文章

    4623

    瀏覽量

    93103
  • JAVA
    +關(guān)注

    關(guān)注

    19

    文章

    2973

    瀏覽量

    104901
  • 程序員
    +關(guān)注

    關(guān)注

    4

    文章

    953

    瀏覽量

    29825

原文標(biāo)題:無(wú)論你是什么技能方向,這些算法書(shū)都值得你看

文章出處:【微信號(hào):TheAlgorithm,微信公眾號(hào):算法與數(shù)據(jù)結(jié)構(gòu)】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。

收藏 人收藏

    評(píng)論

    相關(guān)推薦

    關(guān)于學(xué)習(xí)Linux 編程的基本經(jīng)典書(shū)籍推薦

    ,這是可以在工作中培訓(xùn)和提高的,關(guān)鍵是很多程序員連基本的 Linux 編程思想都不了解,我怎么聘用他們呢?我們?nèi)ゴ髮W(xué)招聘的時(shí)候,給本科應(yīng)屆生開(kāi)出 8000 元的月薪,但是就是很難招到人。我拿經(jīng)典
    發(fā)表于 10-31 11:00

    謝謝分享,值得一看。

    謝謝分享,很值得一看,推薦。
    發(fā)表于 02-21 15:33

    抗EMC干擾,值得一看

    抗EMC干擾,絕對(duì)好東西。值得一看。
    發(fā)表于 04-02 10:25

    經(jīng)典著作值得一看

    C語(yǔ)言的經(jīng)典著作值得學(xué)習(xí)C的童鞋們看看,對(duì)自己的編程或許有很大的幫助,{:1:}{:1:}
    發(fā)表于 04-09 22:31

    各種資料 值得一看

    各種資料值得一看頂起?。?!
    發(fā)表于 06-23 15:40

    很全的資料值得一看

    `很全的資料值得一看`
    發(fā)表于 07-31 22:52

    AD09教程大全 值得一看的哦

    淘寶淘的值得一看的哦
    發(fā)表于 07-18 19:06

    STM32入門(mén)值得一看書(shū)籍!

    本帖最后由 q15920078530 于 2015-7-16 21:47 編輯 當(dāng)初入門(mén)STM32的時(shí)候常聽(tīng)大家說(shuō)《STM32庫(kù)開(kāi)發(fā)實(shí)戰(zhàn)指南》很不錯(cuò),但是找來(lái)找去很麻煩,下載不到,然后發(fā)現(xiàn)《零死角玩轉(zhuǎn)STM32》的內(nèi)容和這邊是樣的。本人用得還不錯(cuò),對(duì)于51轉(zhuǎn)STM32真的
    發(fā)表于 07-16 21:34

    NI 的TestStand培訓(xùn)PPT資料,值得一看

    NI 的TestStand培訓(xùn)PPT資料,值得一看。
    發(fā)表于 06-10 10:49

    值得一看的springer好書(shū):《模擬電路與系統(tǒng)優(yōu)化》

    模擬電路與系統(tǒng)優(yōu)化有哪幾點(diǎn)需要考慮?值得一看的springer好書(shū):《模擬電路與系統(tǒng)優(yōu)化》
    發(fā)表于 06-22 07:35

    程序員2011第9

    程序員2011第9期_《程序員》雜志2011年第9期 有關(guān)敏捷開(kāi)發(fā)、kinect有關(guān)介紹等,值得一看
    發(fā)表于 12-30 15:02 ?0次下載
    <b class='flag-5'>程序員</b>2011第<b class='flag-5'>9</b>期

    算法競(jìng)賽入門(mén)經(jīng)典第2版(紫[粉]書(shū))

    算法入門(mén)經(jīng)典,ACM集訓(xùn)隊(duì)必備,對(duì)算法競(jìng)賽有興趣的同學(xué)值得一看!
    發(fā)表于 11-26 11:30 ?0次下載

    模擬CMOS集成電路設(shè)計(jì)

    模擬CMOS集成電路設(shè)計(jì)經(jīng)典書(shū)籍,值得一看。
    發(fā)表于 04-06 17:24 ?55次下載

    程序員需要學(xué)習(xí)算法

    面試的時(shí)候往往需要考察算法知識(shí)。但是很多技術(shù)人員都知道,其實(shí)在工作中算法知識(shí)用的其實(shí)很少很少,那么就產(chǎn)生了個(gè)疑問(wèn),作為程序員,數(shù)據(jù)結(jié)構(gòu)
    的頭像 發(fā)表于 09-09 09:43 ?3598次閱讀

    C語(yǔ)言依然位居榜單前列 依然值得程序員學(xué)習(xí)

    C語(yǔ)言依然位居榜單前列,依然值得程序員學(xué)習(xí)
    的頭像 發(fā)表于 02-28 17:01 ?1583次閱讀