無論你是什麼技能方向,這些算法書都值得你看

2021-03-01 程式設計師書庫

程式設計師書庫(ID:OpenSourceTop) 編譯

連結:http://www.java67.com/2015/09/top-10-algorithm-books-every-programmer-read-learn.html

算法是獨立於程式語言的,無論你是什麼程式設計師都可以把它們應用到自己的程式語言中去,我遇到過很多在編程方面很有經驗的程式設計師,比如一個Java程式設計師非常底層的API細節和語言的複雜性,但對算法卻知之甚少。

有一次,我面試一個各項都很優秀的開發者,他擅長Java,多線程,但是他的數據結構和算法真的是差到爆,我問他,為什麼他來面試之前不花點時間複習他的算法以及相關的答題的技巧?他的說辭是「這些算法只是用於面試,在實際工作中根本用不著」。確實,在我多年的Java開發生涯中,我確實沒有直接使用過算法,從這一方面來說,他是對的,但是他並沒有認識到算法和數據結構在提高編程技能方面的作用。

相信大家也都知道對於像BAT這樣的企業,如果你能掌握算法和數據結構,那是非常加分的,除了UNIX和C語言,核心的編程依然是算法和數據結構保持不變。所以,算法對一個程式設計師來說是十分重要的,本文分享9本學習算法的好書:

1、《Introduction to Algorithms》

這是一本最受歡迎的算法書,裡面包含了大量的理論,這本書當前版本是第三版,我強烈建議每個程式設計師在他們的書架上都應該有這本書,但只供簡短的閱讀和參考,一口氣讀完這本書是不可能的。我推薦這本書的另一個原因是它是關於算法的第一本書,全面論述了算法的內容

2、《算法》

這是我一直以來學習算法的首選書籍,只是現在翻它的頻率降低了,通過這本書你會學到很多關於算法的背景知識,現在這本書還有針對不同程式語言的特定版本,如Java和C++,裡面涵蓋每位程式設計師應知應會的50種算法,我認為每位Java程式設計師都適合這本書。

3、《算法設計指南》

這本書設計了大量的算法及代碼,我特別喜歡這本書的一大原因就是它能讓你在實踐中使用算法,也確實能夠實實在在的幫助你了解特定的算法,並用來解決特定的問題,書中的代碼示例是用C編寫的,但不是很深奧很好理解,這本書我十多年前就買了,到現在依然會是不是看一下

4、《Algorithms For Interviews》

這是另外一本在面試前必讀的算法書籍,封面本身就很有趣了,如果你仔細看,封面上的圖片是用名人的縮略圖繪製而成的,這本書解釋了如何使用算法,我喜歡這本書是因為它的方法,它告訴你有些時候通過不同的方式去學一些東西,會讓你更好的理解他

5、《算法技術手冊》

這是一本很贊的學習編程算法的書,特別是對於Java程式設計師。它描述的算法側重於實現它們,而不像其他算法書記一樣使用的大量數學知識。所有的算法都以模式的形式呈現,有解釋圖例和偽代碼,以及示例代碼(使用C、c++、Java和Ruby),當然也有相關的算法基礎理論知識。簡而言之,這是程式設計師學習算法的最佳書籍之一。

6、《算法設計》

這實際上是繼Thomas Cormon的算法導論之後的第二本最好的算法書。它並不是真正的算法介紹,可能更適合有經驗的程式設計師,書中更側重於算法設計。個人建議你最好先讀好Robert Sedgewick 的《算法》,然後再來讀這本書。

7、《算法引論》

這是一本非常適合自學的書,因為裡面有很多問題和例子,它旨在提高讀者解決問題的能力和理解算法設計背後的原則,這一點將會大大提高你的編程技巧

8、《算法設計與分析基礎》

如果你有一定的基礎,建議你把這本書當做你的算法進階,本書是第3版,相對前版調整了多個章節的內容和順序,同時增加了一些算法,並擴展了算法的應用,使得具體算法和通用算法設計技術的對應更加清晰有序。

9、《Python算法教程》

這本書是為Python程式設計師設計的,作者Magnus Lie Hetland還撰寫過另一本Python入門書《 Python基礎教程》,本書主要介紹圖形算法,前面已經說過算法是獨立於程式語言的,學習Python的算法並不代表你無法用Java實現它們,但如果你已經有Python基礎,那麼本書就能很好的幫助你學習算法,

寫在最後

以上就是今天要和大家分享的算法書,我認為算法是一個非常複雜的主題,建議同一本書可以通讀兩遍,不過死讀書是沒有用的,你還要嘗試用你喜歡的程式語言去實現它們,漸漸地你會發現你的思維和代碼質量有了明顯的改進。最後,我認為世界上只有兩種程式設計師:一種懂算法,一種不懂

●輸入m獲取到文章目錄

相關焦點

  • 算法工程師研發技能表
    Learning Lab    由於算法工程師這個崗位根據不同的業務場景和應用方向,各自的工作差異相對較大。所以很難有一個一概而論的算法工程師技術棧。比如說做圖像方向的有機器視覺算法崗、做文本方向的有自然語言處理算法崗、做語音的又有語音識別算法崗。本文僅對算法工程師常用的、基礎的、必備的研發技能進行梳理。也就是說,不論你是做哪個業務場景下的算法工作,這些基礎研發技能都是必知必會的。這組技能清單主要包括兩大類型,一類是理論技術,另一類是程式語言和工具類。
  • 新疆的秋天已從東南西北打開 無論你在哪個方向 都有美麗的風景
    新疆的秋天已經從東南西北同時打開,無論你在哪個方向,都有最美的風景新疆的秋天 無論從哪個方向出發 都將經歷美麗旅程!時序進入了深秋,在新疆,這個季節不是旅遊不熱了,而是升溫了。這個時候你要是在新疆旅行,東西南北,無論你在哪一個方向,都必定讓你飽覽新疆秋景。因此,筆者建議你,如果你還在哈密這邊,也就是東疆,那麼,就去看看這裡的雅丹地貌吧。
  • 大學裡你可以什麼都不做,但這五項技能必須掌握
    其實,大學輕鬆與否關鍵還是取決於個人,因為大學管理相對輕鬆,學生的自主權很大,你可以什麼都去嘗試,也可以什麼都不做,但小編建議,無論如何,在大學裡都必須掌握這五項技能。1、拿到好成績別忘了大學生也是學生,學習才是根本任務,無論你多麼愛玩、愛社交,請一定不要將學習放下,這個社會上專心的人很難得,專注自己的專業,交出最好的成績,也是將來走上社會一張很好的通行證,無論去到哪裡,它都能證明你有很好的學習能力。
  • 目前最好的算法書
    從市場和讀者的反饋看,這也不是虛假宣傳。這篇文章的內核是一篇書評,我們依然保留,送給 2016 年還沒來得及認識圖靈的小夥伴,以及還在猶豫選擇哪本算法參考書的小夥伴。如果關注算法圖書,你可能已經猜到我們這本書的主角了,是:《算法(第 4 版)》。完全不誇張,《算法(第 4 版)》是目前市面上口碑、銷量、學習友好度綜合排名第一位的算法圖書。
  • 推薦 10 本程式設計師必讀的算法書
    端午假期來了,我們為你總結了十本各具特色的算法書,學習課程的同時,閱讀這些書籍,快速前進,離你的理想目標更近一步!
  • 算法工程師必須要知道的面試技能雷達圖
    那我們直入主題,到底什麼技能才是一名合格的算法工程師應該具備的技能呢?面試官又會如何驗證你的這些技能呢?雖然每個一個崗位都有JD,但拋開具體的崗位要求,從稍高的角度角度看待這個問題,一名算法工程師的技術素質基本可以拆解成下面四個方面:知識、工具、邏輯、業務。當然廣義來講,這四項素質也適用於所有IT工程師。
  • 一份過冬存糧:算法工程師必備的面試技能雷達圖
    在面試時,面試官又會如何驗證你具備這些技能?拿下阿里、騰訊、美團等offer且面試過百餘位candidates的矽谷高級機器學習工程師王喆,繪製了一幅面試技能雷達圖——寒冬再冷,高級人才永遠不愁找不到工作。
  • 谷歌算法都不知道,你還做什麼英文SEO?
    什麼是谷歌算法?每個網際網路平臺都有自己的規則和玩法,就谷歌而言,它的規則玩法叫谷歌算法。谷歌算法是一個非常複雜的系統,每年都會改變數百次。對於想做英文SEO的人而言,不管你看了誰的書,也不管你買了誰的培訓,在做SEO之前,請先了解最新的谷歌算法。
  • 不會記筆記,你看的書都白看了
    上次跟朋友聊天說到自己有看書的愛好,朋友問我最喜歡什麼書,我說看過很多,卻仿佛不記得書中的內容,當他侃侃而談書中的內容時,我有種無地自容的感覺,這些年,我看的書都被狗吃了,什麼都不記得。終於明白為什麼我寫不好文,只看,不記,看多少名著都是白看。《如何有效閱讀一本書》主要講了怎麼把一本書變成自己的知識庫,正好解我當前之急。
  • 想當編劇看什麼書?5本書教你怎麼寫劇本
    如果你是個喜歡寫小說的,或者想發展成為編劇的,這5本寫作的書就肯定聽說過,但是否加進書架中,或者閱讀過,就不一定啦。調侃的話常說,教人發財的書往往都是那些非百萬富翁的人寫出來的,但教人寫作的書不一樣,很多都是真正的行業內經驗老手編寫。前輩們已經給你總結了經驗,剩下的就讀吧!
  • 你在刷淘寶,算法在看你 | 你好AI
    文 | 孫然 編輯 | 石海威 三桐可能是最懂中國女人的男人,因為他總能知道你想買點什麼,然後在恰當的時候送到你眼皮底下。甚至很多時候,他比你自己更清楚那些隱秘的欲望。 儘管他分不清豆沙色、楓葉紅這些口紅色號,也不知道這一季流行豹紋襯衣還是法式連衣裙,但他寫的算法懂。
  • 什麼是算法? - 《我的第一本算法書》
    下文節選自《我的第一本算法書》, 已獲出版社授權許可, [遇見數學] 特此表示感謝! 那麼,你首先想到的方法,是不是先從輸入的數字中找出最小的數字,再將它和最左邊的數字交換位置呢?在這個示例中就是找到最小數字 1,然後將它和最左邊的 7 交換位置。
  • 從爆款筆記,看小紅書的首頁推薦算法邏輯
    這篇文章主要寫小紅書首頁推薦算法邏輯,從運營的知識點到爆款筆記的實踐,來講述小紅書首頁推薦算法邏輯。喜歡小紅書並且打算成為一個小紅書內容創作者的小夥伴們,不要錯過哦!作為運營一直對小紅書有關注,近期在正式運營小紅書,打算成為一個小紅書內容創作者。
  • 「看這些書能讓你上北大嗎?」
    每晚,我都在燈光與翻書聲中入睡。同樣的畫面每晚上演,終於鐫刻在腦海中,成了揮之不去的記憶。幼兒園的一次班會上,老師拋出一個問題:你們的媽媽平時喜歡在家裡做什麼?大家瞬間興奮起來,開始七嘴八舌地回答,教室內外充滿了快活的空氣。有的小朋友說「我媽媽喜歡看電視劇」,有的則說「我媽媽喜歡做飯」,還有的竟說「我媽媽喜歡吃大蒜」,引來一陣鬨笑。
  • 年終總結| 以算法崗為例:我最想對入職前的自己說些什麼?
    但是完整的技術棧,我們不太可能都去精通,而且每個專業部分其實都有對應的職位,是算法工程師,你的未來重心可能就是在算法的設計與嘗試上;是數據科學家,你的未來重心可能就是在數據的分析上;是 AI 架構師,你的未來重心可能就是算法工作的工程架構上。。。所以我們不可能精通這整條鏈路上的所有方向,但是打通這一個鏈路卻是必須的。
  • 作為幼兒園老師,這些技能你都掌握了嗎?
    雖然每到這個時候,我都想糾正他們,幼師並不是什麼都會的,但是細想起來,我們好像真的是「技多不壓身」啊。那麼作為一名合格的幼師,應該具備哪些技能呢?技能一:勝任雙重身份白巖松曾經說過「只有兩個行業後面帶著德,一個是醫德,一個是師德。」
  • 《讀懂一本書》樊登私藏讀書法,書都不會讀,你還想要什麼成功
    這本書作者說出了自己讀書的方法,講書的經驗,讀書的誤區,幫你高效讀書,成就自己。作者給出了眾多讀書方法,簡單實用,輕鬆高效。每一種閱讀方法,都值得我們學習。正如書中所說,閱讀是人類反脆弱的強大武器。學會這些好的讀書方法,讓自己高效讀書,實現自己的價值。 ① 自我挑戰,創造心流閱讀。
  • 字節跳動技術Leader們都在看什麼書?從推薦算法到前端開發純乾貨
    想進入大廠拿高薪,除了投簡歷刷題,還有什麼好辦法呢?小易覺得,其實最好的辦法,還是提升技術。不管是剛畢業的職場新人,還是考慮轉行進入網際網路行業,又或是工作多年想要進一步自我提升的老技術人,都要持續學習。前些日子,字節跳動官方推出了技術Leader們的推薦書籍,趕快收藏起來吧!
  • 無論來不來童書媽媽的寫作營,我都想把這個秘密告訴你!
    無論你參不參與童書媽媽的寫作營,我都想把這個關於寫作的秘密告訴你:你知道嗎?誰掌握了寫作這個鑰匙,誰就掌握了自己的命運。
  • 機器學習十大算法都是何方神聖?看完你就懂了
    跟我們生活息息相關的最常見機器學習算法包括電影推薦算法、圖書推薦算法。這些算法都是基於你的電影觀看記錄或圖書購買記錄來給你做推薦的。James Le 在 KDnuggets 上發布了一篇文章,介紹了他是如何入門機器學習的。此外,他在其中摸索出十大常用的機器學習算法,並逐一進行介紹。雷鋒網編譯如下,未經許可不得轉載。如果你想學機器學習,那怎麼入門呢?