程式設計師必讀的書籍排行榜
程式設計師在學習課程的同時,閱讀這些書籍,快速前進,離你的理想目標更近一步。下面小編就來為大家推薦的程式設計師必讀的書籍,歡迎參閱!
程式設計師必讀的書籍
1.《演算法導論》 Thomas H. Corman
這是最著名的演算法書之一,但要注意它的理論性非常強。目前它已經出到了第三版。我強烈建議每個程式設計師都在書架上放一本演算法導論,但只用來做短暫的閱讀和參考。因為這本書你是不可能一口氣讀完的。我第一本就推薦它的另一個理由是,它不限定任何程式語言,而且還有對應的教學課程。
2.《演算法》 Robert Sedgewick & Kevin Wayne
這本書一直是我偏愛的演算法參考,但現在我看的比較少了。你能在這本書裡學到很多演算法的背景知識,而且現在這本書也有了很多對應不同語言的版本比如 Java 和 C++。信不信由你,如果你已經掌握了一門程式語言,那麼用這門語言學習演算法的曲線就會不那麼陡峭。
3.《演算法設計手冊》 Steve S. Skiena
這也是一本很棒的演算法書,介紹的演算法型別非常豐富,也包含很多程式碼。我尤其喜歡書中介紹演算法在實際中是如何應用的。這有助於你瞭解一類演算法可以用來解決怎樣的一類問題。書中的程式碼是用 C 寫的,但並不是很深奧,所以看起來很輕鬆。我在畢業快十年以後看這本書,也很快就掌握了一些圖論演算法。 這本書我已經買了有十年了,現在還是是不是會拿出來看一看。
4.《面試演算法》 Adnan Aziz
這是一本必讀的演算法書,尤其對於要找工作的人來說。光看封面就知道這本書的內容很有趣:圖靈的人臉是用許多張不同人物的縮圖拼成的。而書中就介紹瞭如何實現這樣的拼接演算法。我喜歡這本書,因為它解決問題的途徑和目的比較獨特。有時候懷著不同目的去學習同樣的東西可能會更有助於理解。
5.《演算法簡述》
這是一本很棒的演算法書,尤其對於 Java 程式設計師來講。它著重從實現的角度來介紹各種演算法,也不像很多其他經典教材那樣包含很多數學。所有的演算法都是用模式來描述的,也提供了學習它們的動機、解釋用的圖片、高層次的虛擬碼以及實際可執行的程式碼C、C++、Java 和 Ruby。書中也包含一些測試,用以證明不同演算法之間理論上的效能差異。簡而言之,這是程式設計師學習演算法最好一本書之一。
6.《演算法設計》 Kleinberg & Tardos
這應該是 Thomas Coren 的演算法導論之後第二好的演算法書。它不是一本導論,而是面向有經驗的程式設計師。書中側重為對基本演算法比較熟悉的程式設計師介紹了一些演算法設計的知識。你應該先看一本導論再來學習這本書。
程式設計師看的書籍
1.《演算法導論:一種新的途徑》 Udi Manber
這是一本很適合自學的書,因為其中包含了幾百個問題和例子。它是為提高讀者的問題求解能力以及令讀者掌握演算法設計背後的原理所編寫的。這有助於你提高解決問題和寫程式碼的能力。
2.《演算法設計與分析》 Anany Levitin
這也是每個程式設計師都應該在書架上放一本的演算法書。在你學習完一本導論書以後,你可以通過這本書來學習一些進階知識。
3.《資料結構和演算法》 Aho, Ullman & Hopcroft
又一本精彩的資料結構和演算法入門教材。這本書排版美觀大方,很多不喜歡數學的程式設計師們都會喜歡它。
程式設計師讀的專業技術書
1、第一本Docker書
Docker公司前服務與支援副總裁力作
全球第一本Docker技術圖書
學習Docker必備的第一本書
《第 一本Docker書》由Docker 公司前服務與支援副總裁James Turnbull 編寫,是權威的Docker 開發指南。本書會指導讀者完成Docker 的安裝、部署、管理和擴充套件,帶領讀者經歷從測試到生產的整個開發生命週期,讓讀者瞭解Docker 適用於什麼場景。書中先介紹Docker 及其元件的基礎知識,然後用Docker 構建容器和服務來完成各種任務:利用Docker 為新專案建立測試環境,演示如何使用持續整合的工作流整合Docker,如何構建應用程式服務和平臺,如何使用Docker 的API,如何擴充套件Docker。
2、遊戲設計的100個原理
眾多遊戲設計祕籍
100條重要的遊戲設計領域的方法
《遊戲設計的100個原理》分4篇向讀者講述了遊戲創 新、創作、平衡和解決問題的100個原理。每一個專題都採用豐富的案例來介紹多種不同的設計思路,同時以經典圖片的形式點出了該原理所蘊含的真諦。 本書為全綵設計,適合從事或學習遊戲設計的專業人士閱讀,讀者將從本書中學到如何讓遊戲流行,如何讓玩家痴迷,如何設定關卡以及如何解決遊戲設計中的問 題。
3.《Python演算法》
這本書是為 Python 程式設計師所編寫的。作者 Maguns Lie Hetland 同時也是另一本很受歡迎的 Python 入門教材《Beginning Python》的作者。這本書側重介紹圖論演算法。正如我所說,演算法跟具體的程式語言是無關的。你也可以用 Java 或者 C++ 來實現從這本書裡學到演算法。當然如果你已經會 Python,這就是一本絕佳的教材。
這就是每個程式設計師都應該讀的10本演算法書。當然,演算法是一個很複雜的話題,很多演算法只學習一遍是很難徹底理解的。遇到這種情況時,我建議把同一本書讀兩遍。並且,光讀是不夠的,你還要用自己喜歡的語言去實現演算法。試著去實現你自己的 ArrayList 和 HashMap。學習演算法的成果並不會馬上就顯露出來,但你能注意到自己在思考和解決問題的時候已經有了細微的變化,程式碼質量也會逐漸提高。畢竟我們常說,世界上有兩種程式設計師,一種是懂演算法的,另一種是不懂的。
暢銷好看的勵志書籍推薦