1. 程式人生 > >年入100萬的程式設計師說,看完這些書至少漲薪10萬

年入100萬的程式設計師說,看完這些書至少漲薪10萬

堅持閱讀好書是學習Java並且快速提升技術的最好方式之一。但是,市面上與Java技術相關的書籍可謂數不勝數,如何從這些質量參差不齊的眾多書中選擇出優秀的書籍,就成為了Java程式設計師面對的第一個問題。

不用擔心,今天我們將福利奉上,年入百萬的程式設計師,告訴你,他曾經看過的一些經典書籍。

掃描文末二維碼直接領取書籍電子版。

更有限量10本精裝版贈送。

書籍介紹目錄

  • 一、基礎的Java知識 相關書籍

  • 二、高質量程式碼進階知識 相關書籍

  • 三、常用的主流框架 相關書籍

  • 四、系統設計與演算法知識 相關書籍

  • 五、其他

基礎的Java知識

01

《Java程式設計思想》

作者介紹:

Bruce Eckel是MindView公司的總裁,該公司向客戶提供軟體諮詢和培訓。他是C++標準委員會擁有表決權的成員之一,擁有應用物理學學士和計算機工程碩士學位。

除本書外,他還是《C++程式設計思想》的作者,並與人合著了《C++程式設計思想第2卷》(這兩本書的英文影印版及中文版均已由機械工業出版社引進出版)及其他著作。他已經發表了150多篇論文,還經常參加世界各地的研討會並進行演講。 

書籍介紹:

《電腦科學叢書:Java程式設計思想(第4版)》贏得了全球程式設計師的廣泛讚譽,即使是晦澀的概念,在BruceEckel的文字親和力和小而直接的程式設計示例面前也會化解於無形。從Java的基礎語法到高階特性(深入的面向物件概念、多執行緒、自動專案構建、單元測試和除錯等),本書都能逐步指導你輕鬆掌握。

該書獲得的各項大獎以及來自世界各地的讀者評論中,不難看出這是一本傑出之作。本書的作者擁有多年教學經驗,對C、C 以及Java語言都有獨到、深入的見解,以通俗易懂及小而直接的示例解釋了一個個晦澀抽象的概念。

本書共22章,包括操作符、控制執行流程、訪問許可權控制、複用類、多型、介面、通過異常處理錯誤、字串、泛型、陣列、容器深入研究、JavaI/O系統、列舉型別、併發以及圖形化使用者介面等內容。

這些豐富的內容,包含了Java語言基礎語法以及高階特性,適合各個層次的Java程式設計師閱讀,同時也是高等院校講授面向物件程式設計語言以及Java語言的好教材和參考書。

讀者評論:

這本書比我見過的所有Java書都要好得多。循序漸進……非常完整,並搭配恰到好處的範例,睿智而不呆板的解說……這使本書的品質比別的書“超出了一個數量級”。與其他Java書相比,我發現本書考慮非常周全、前後一致、理性坦誠、文筆流暢、用詞準確。恕我直言,這是一本學習Java的理想書籍。


  ——Anatoly Vorobey, 以色列海法Technion大學


在我所見過的程式設計指南中(無論何種語言),這絕對是最好的一本。

——Joakim Ziegler, FIX系統管理員


每個Java程式設計師都應該反覆研讀《Think in Java》,並且隨身攜帶以便隨時參考。書中的練習頗具挑戰性,而有關集合的章節已臻化境!本書不僅幫助我通過了Sun Certified Java Programmer考試,而且它還是我遇到Java問題時,求助的首選書籍。

——Jim Pleger, Loudoun郡(弗吉尼亞)政府

《Effective Java》

作者介紹:

Joshua Bloch,是Google公司的首席Java架構師。是Jolt大獎的獲得者。他曾是Sun公司的傑出工程師,和Transarc公司的高階系統設計師。

Bloch曾帶領團隊設計和實現過無數的Java平臺特性,包括JDK 5.0語言增強版和獲獎的Java Collections Framework。他的著作還包括:《Java Puzzlers》、《Java Concurrency in Practive》等。

書籍介紹:

《Sun 公司核心技術叢書:Effective Java中文版(第2版)》內容全面,結構清晰,講解詳細。可作為技術人員的參考用書。編碼平添樂趣,程式更加完美,高效成為習慣,工作如此輕鬆。你是否正在尋找一本能夠更加深入地瞭解Java程式語言的書,以便編寫出更清晰、更正確、健壯且更易於重用的程式碼。不用找了!《Sun 公司核心技術叢書:Effective Java中文版(第2版)》為我們帶來了共78條程式設計師必備的經驗法則,針對你每天都會遇到的程式設計問題提出了zui有效、zui實用的解決方案。

這本經典Jolt獲獎作品實屬眾望所歸。作者對新版進行了徹底的更新。涵蓋了自第l版之後所引入的Java E5和Java SE 6的特性,同時開發了新的設計模式和語言習慣用法,介紹瞭如何充分利用從泛型到列舉、從註解到自動裝箱的各種特性。

每一章都包含幾個“條目”,以簡潔的形式呈現,自成獨立的短文,它們提出了具體的建議,對於Java平臺精妙之處的獨到見解,以及優秀的程式碼範例。每個條目的綜合描述和解釋都闡明瞭應該怎麼做,不應該怎麼做,以及為什麼。







高質量程式碼進階知識

02


《重構:改善既有程式碼的設計》

作者介紹:

Martin Fowler,世界軟體開發大師,在面向物件分析設計、UML、模式、XP和重構等領域都有卓越貢獻,現為著名軟體開發諮詢公司ThoughtWorks的首席科學家。他的多部著作《分析模式》、《UML精粹》和《企業應用架構模式》等都已經成為膾炙人口的經典。

書籍介紹:

本書清晰揭示了重構的過程,解釋了重構的原理和最佳實踐方式,並給出了何時以及何地應該開始挖掘程式碼以求改善。書中給出了70 多個可行的重構,每個重構都介紹了一種經過驗證的程式碼變換手法的動機和技術。本書提出的重構準則將幫助你一次一小步地修改你的程式碼,從而減少了開發過程中的風險。

本書適合軟體開發人員、專案管理人員等閱讀,也可作為高等院校計算機及相關專業師生的參考讀物。

編輯推薦:

軟體開發的不朽經典

生動闡述重構原理和具體做法 

普通程式設計師進階到程式設計高手必須修煉的祕笈

重構,一言以蔽之,就是在不改變外部行為的前提下,有條不紊地改善程式碼。多年前,正是本書原版的出版,使重構終於從程式設計高手們的小圈子走出,成為眾多普通程式設計師日常開發工作中不可或缺的一部分。本書也因此成為與《設計模式》齊名的經典著作,被譯為中、德、俄、日等眾多語言,在世界範圍內暢銷不衰。

本書凝聚了軟體開發社群專家多年摸索而獲得的寶貴經驗,擁有不因時光流逝而磨滅的價值。今天,無論是重構本身,業界對重構的理解,還是開發工具對重構的支援力度,都與本書*初出版時不可同日而語,但書中所蘊涵的意味和精華,依然值得反覆咀嚼,而且往往能夠常讀常新。

《程式碼大全》

作者介紹:

史蒂夫·邁克康奈爾(Steve McConnell)被公認為軟體開發社群中的首要作者和發言人之一。他是Construx Software公司的首席軟體工程師。他所編著的圖書包括曾被《軟體開發》雜誌授予優異產品震撼大獎的《程式碼大全》和《快速軟體開發》,以及《軟體專案生存指南》等。

書籍介紹:

程式碼大全(第2版)是著名Ⅱ暢銷書作者、《IEEESoftware》雜誌前主編、具有20年程式設計與專案管理經驗的SteveMcConneU十餘年前的經典著作的全新演繹:第2版做了全面的更新,增加了很多與時俱進的內容,包括對新語言、新的開發過程與方法論的討論,等等。這是一本百科全書式的軟體構建手冊,涵蓋了軟體構建活動的方方面面,尤其強調提高軟體質量的種種實踐方法。 

作者特別注重原始碼的可讀性,詳細討論了類和函式命名、變數命名、資料型別和控制結構、程式碼佈局等程式設計的基本要素,也討論了防禦式程式設計、表驅動法、協同構建、開發者測試、效能優化等有效開發實踐,這些都服務於軟體的技術使命:管理複雜度

為了培養程式設計師編寫高質量程式碼的習慣,書中展示了大量高質量程式碼示例(以及用作對比的低質量程式碼),提高軟體質量是降低開發成本的重要途徑。

除此之外,本書歸納總結了來自專家的經驗、業界研究以及學術成果,列舉了大量軟體開發領域的真實案例與統計資料,提高本書的說服力。 

本書中所論述的技術不僅填補了初級與高階程式設計實踐之間的空白,而且也為程式設計師們提供了一個有關軟體開發技術的資訊來源。

本書對經驗豐富的程式設計師、技術帶頭人、自學的程式設計師及沒有太多程式設計經驗的學生都是大有裨益的。可以說,只要您具有一定的程式設計基礎,想成為一名優秀的程式設計師,閱讀本書都不會讓您失望。

媒體評論:

“《程式碼大全》第1版在我看來堪稱軟體工程領域的經典之作一而第2版則更棒!”

——RalphJohnson,伊利諾伊州立大學;《設計模式》(Design Patterns)作者之一

“無論您是新手還是經驗豐富的開發人員,《程式碼大全》(第2版)都能教會您思考程式設計的*方法。”

——JeffreyRichter

“這本書是講述軟體構建的權威指南一準備孤身前往荒島的程式設計師只要帶上這本書就足夠了。”

——Diomidis Spinellis,《程式碼閱讀方法與實踐》

(CodeReading:The Open Source Perspective)作者

“SteveMcConnell是一位既在一線實踐,又能把其中奧妙講個明白的少數人之一。”

——John Vlissides,IBM研究院; 《設計模式》(DesignPatterns)作者之一

《程式設計珠璣》

作者介紹:

Jon Bentley 世界著名電腦科學家,被譽為影響演算法發展的十位大師之一。他先後任職於卡內基-梅隆大學(1976~1982)、貝爾實驗室(1982~2001)和Avaya實驗室(2001年至今)。在卡內基-梅隆大學擔任教授期間,他培養了包括Tcl語言設計者John Ousterhout、Java語言設計者James Gosling、《演算法導論》作者之一Charles Leiserson在內的許多電腦科學大家。2004年榮獲Dr. Dobb's程式設計卓越獎。

書籍介紹:

本書是電腦科學方面的經典名著。書的內容圍繞程式設計人員面對的一系列實際問題展開。作者Jon Bentley 以其獨有的洞察力和創造力,引導讀者理解這些問題並學會解決方法,而這些正是程式設計師實際程式設計生涯中至關重要的。本書的特色是通過一些精心設計的有趣而又頗具指導意義的程式,對實用程式設計技巧及基本設計原則進行了透徹而睿智的描述,為複雜的程式設計問題提供了清晰而完備的解決思路。本書對各個層次的程式設計師都具有很高的閱讀價值。

編輯推薦:

本書是歷史偉大的電腦科學著作之一。

融深邃思想、實戰技術與趣味軼事於一爐的奇書。

帶你真正領略電腦科學之美。

多年以來,當程式設計師們推選出最心愛的計算機圖書時,《程式設計珠璣》總是位於前列。正如自然界裡珍珠出自細沙對牡蠣的磨礪,電腦科學大師Jon Bentley以其獨有的洞察力和創造力,從磨礪程式設計師的實際問題中凝結出一篇篇不朽的程式設計“珠璣”,成為世界計算機界名刊《ACM通訊》歷史受歡迎的專欄,終結集為兩部不朽的電腦科學經典名著,影響和激勵著一代又一代程式設計師和電腦科學工作者。

在書中,作者選取許多具有典型意義的複雜程式設計和演算法問題,生動描繪了歷史上眾大師們在探索解決方案中發生的軼事、走過的彎路和不斷精益求精的歷程,引導讀者像真正的程式設計師和軟體工程師那樣富於創新性地思考,並透徹闡述和總結了許多獨特而精妙的設計原則、思考和解決問題的方法以及實用程式設計技巧。解決方案的程式碼均以C/C 語言編寫,不僅有趣,而且有很大的實戰示範意義。每章後所附習題極具挑戰性和啟發性,書末給出了簡潔的解答。 

常用的主流框架

03


《Spring實戰》

作者介紹:

Craig Walls是Pivotal的高階工程師,是Spring Social和Spring Sync的專案領導者,同時也是Manning出版社《Spring In Action》的作者,目前這本書已經更新到了第四版。他非常熱心於Spring框架的推廣,經常在當地的使用者組和會議上演講並在部落格上撰寫Spring相關的內容。在不琢磨程式碼的時候,Craig Walls會盡可能多地陪伴他的妻子、兩個女兒、兩隻小鳥以及兩隻小狗。

書籍介紹:

《Spring實戰(第4版)》是經典的、暢銷的Spring學習和實踐指南。 第4版針對Spring 4進行了全面更新。全書分為四部分。第1部分介紹Spring框架的核心知識。

第二部分在此基礎上介紹瞭如何使用Spring構建Web應用程式。第三部分告別前端,介紹瞭如何在應用程式的後端使用Spring。

第四部分描述瞭如何使用Spring與其他的應用和服務進行整合。 《Spring實戰(第4版)》適用於已具有一定Java 程式設計基礎的讀者,以及在Java 平臺下進行各類軟體開發的開發人員、測試人員,尤其適用於企業級Java 開發人員。

本書既可以被剛開始學習Spring 的讀者當作學習指南,也可以被那些想深入瞭解Spring 某方面功能的專業使用者作為參考用書。

編輯推薦:

全球有超過100 000的開發者使用本書來學習Spring中文版累計銷售超10萬冊,暢銷經典Spring 技術圖書,針對Spring 4 全新升級作者Craig Walls,SpringSource的軟體開發人員,也是一位暢銷書作者。


《Spring Boot實戰》

作者介紹:

Craig Walls  Pivotal高階工程師,Spring Social及Spring Sync專案領導者,著名技術博主,暢銷書《Spring實戰》作者。他致力於推廣Spring框架,筆耕不輟,亦時常作為演講嘉賓出席各類相關會議。 

書籍介紹:

本書以Spring應用程式開發為中心,全面講解如何運用Spring Boot提高效率,使應用程式的開發和管理更加輕鬆有趣。作者行文親切流暢,以大量示例講解了Spring Boot在各類情境中的應用,內容涵蓋起步依賴、Spring Boot CLI、Groovy、Grails、Actuator

編輯推薦:

Spring改變了企業級Java應用開發方式,讓Java開發更簡單、高效;Sping Boot作為Spring開發的黃金助手,則在這個基礎上,讓開發者的生活更上一個臺階!

本書是Spring Boot的終極指南,以自動配置、起步依賴、命令列介面和Actuator這四個核心特性為基礎,深入介紹Spring Boot的用法,讓所有Java開發人員不費吹灰之力就構建出滿足生產需求的服務,真正享受技術達人的樂趣!


《Spring+Mybatis企業應用實戰》

書籍介紹:

《Spring+MyBatis企業應用實戰》介紹了Java EE領域的兩個開源框架:Spring的MVC和MyBatis。其中Spring的版本為4.2,MyBatis的版本是3.4。《Spring+MyBatis企業應用實戰》的示例建議在Tomcat 8上執行。

《Spring+MyBatis企業應用實戰》重點介紹如何整合Spring MVC 4 MyBatis 3進行Java EE開發,主要包括三個部分。diyi部分詳細介紹了Spring MVC框架的用法。第二部分詳細介紹了MyBatis框架的用法。第三部分重點介紹了Spring MVC4+MyBatis 3的整合,並示範開發了一個包含6個表、表之間具有複雜的關聯對映關係,且業務功能也相對完善的HRM人事管理系統案例,希望讓讀者理論聯絡實際,將這兩個框架真正運用到實際開發當中去。該案例採用目前流行、規範的Java EE架構,整個應用分為DAO持久層、領域物件層、業務邏輯層、控制器層和檢視層,各層之間分層清晰,層與層之間以鬆耦合的方法組織在一起。所有程式碼完全基於Eclipse IDE來完成,一步步帶領讀者深入兩個框架的核心。

閱讀《Spring+MyBatis企業應用實戰》之前,建議先閱讀瘋狂軟體教育的《瘋狂Java講義》一書。《Spring+MyBatis企業應用實戰》適合有較好的Java程式設計基礎,JSP、Servlet、JDBC基礎,Spring框架基礎的讀者,尤其適合於對Spring MVC和MyBatis瞭解不夠深入,或對Spring MVC MyBatis整合開發不太熟悉的開發人員閱讀。

編輯推薦:

1.貼近實際專案,以案例驅動

本書針對每一個知識點都通過相應的程式給出了示範,所有應用範例都密切契合企業開發實際場景,例如使用者許可權驗證、檔案上傳下載等都是企業開發實際功能,同時採用了目前企業流行、規範的開發架構,嚴格遵守Java EE開發規範。讀者參考本書的架構,完全可以身臨其境地感受企業實際專案開發。

2.內容深入,講解細緻

本書的特點是操作步驟詳細,程式設計思路清晰,語言平實易懂。只要讀者認真閱讀本書,並掌握書中知識,那麼就完全可以勝任企業中Spring MVC MyBatis專案開發的要求。

3.註釋詳細

本書的程式碼,幾乎每行核心語句都有註釋,讀者可以很容易地瞭解程式碼的意圖,輕鬆掌握相應的知識。

系統設計與演算法知識

04


《系統分析與設計方法》

作者介紹:

Jeefrey L.Whitten,美國普度大學計算機技術系主任兼教授,曾兩次榮James G.Dwyer最佳教師獎。自1984年任教授後,他開始編著《系統分析與設計方法》一書,目前已經版到第7版。該書長期位於同類書銷售排行榜第1名,被700多所學校採納作為教材。

書籍介紹:

本書綜合而全面地介紹計算機系統分析與設計方法。共分為四個部分。

第一部分“系統開發專案環境”介紹資訊系統開發的概念和過程。

第二部分“系統分析方法”涵蓋了生命週期前期活動、工具和技術,這些內容用於分析業務問題、說明資訊系統業務需求以及制定業務和系統方案。

第三部分“系統設計方法”涵蓋了生命週期中期活動、工具和技術,特別強調應用架構的概要設計和詳細設計、快速開發和原型設計、外部設計(輸出、輸入和介面)、內部設計(如資料庫和軟體工程)以及面向物件設計。

第四部分“系統分析和設計完成後的工作”通過縱覽生命週期後期活動,透視系統分析和設計工作。

《設計模式》

作者介紹:

本書作者均是國際公認的面向物件軟體領域的專家。

 Erich Gamma博士是瑞士蘇黎士國際面向物件技術軟體中心的技術主管。

 Richard Helm博士是澳大利亞悉尼IBM顧問集團公司面向物件技術公司的成員。 Ralph Johnson博士是Urbana-Champaign伊利諾大學計算機科學系成員。

書籍介紹:

本書結合設計實作例從面向物件的設計中精選出23個設計模式,總結了面向物件設計中最有價值的經驗,並且用簡潔可複用的形式表達出來。

分類描述了一組設計良好、表達清楚的軟體設計模式,這些模式在實用環境下特別有用。適合大學計算機專業的學生、研究生及相關人員參考。

編輯推薦:

“這本眾人期待的確達到了預期的全部效果。該書雲集了經過時間考驗的可用設計。作者從多年的面向物件設計經驗中精選了23個模式,這構成了該書的精華部份,每一個精益求精的優秀程式設計師都應擁有這本《設計模式》。”

——Larry O'Brien, Software Development

“<設計模式>在實用環境下特別有用,因為它分類描述了一組設計良好,表達清楚的面向物件軟體設計模式。整個設計模式領域還很新,本書的四位作者也許已佔據了這個領域造詣最深的專家中的半數,因而他們定義模式的方法可以作為後來者的榜樣。如果要知道怎樣恰當定義和描述設計模式,我們應該可以從他們那兒獲得啟發”

——Steve Billow, Journal of Object-Oriented Programming

“總的來講,這本書表達了一種極有價值的東西。對軟體設計領域有著獨特的貢獻,因為它捕獲了面向物件設計的有價值的經驗,並且用簡潔可複用的形式表達出來。它將成為我在尋找面向物件設計思想過程中經常翻閱的一本書﹕這正是複用的真實含義所在,不是嗎﹖”

——Sanjiv Gossain, Journal of Object-Oriented Programming

《需求分析與系統設計》

作者介紹:

麥斯阿塞克,澳大利亞悉尼Macquarie大學副教授。他原籍波蘭,曾在世界許多國家擔任研究員諮詢專家和教師,於1985年移居澳大利亞。他具有在許多大型跨國公司從事技術諮詢和培目工作的經驗。他的研究領域包括系統開發和整合軟體工程資料庫物件技術以及分散式計算。

書籍介紹:

本書論述軟體分析與設計的原理、方法和技術,並特別關注設計階段,對軟體體系結構的內容進行了很大的擴充。本書強調物件技術及統一建模語言(UML)在企業資訊系統開發中的應用,並討論了使用Web技術和資料庫技術進行開發的方法。

本書是大學本科生學習系統分析與設計、軟體工程、軟體專案管理、資料庫和物件技術的理想教材和參考書;對於軟體工程技術人員來說,本書也是很好的參考資料。

在企業資訊系統的開發中,強有力的分析和設計對成功開發都是非常重要的。本書講解設計大型面向物件系統所需的基礎理論,以及如何將這些理論付諸實踐。本書作者非常注重實踐,提供了大量例項、練習和問題,使讀者快速掌握理論知識,提高開發水平。

本書主要特點:

圍繞七個例項研究(大學註冊、音像商店、關係管理、電話銷售、廣告支出、時間記錄和貨幣兌換)展開例項教學,每個例項都具有自身的特點和教學價值。

特別關注設計階段,並不是將設計看成分析的直接轉換,而是充分考慮大型企業資訊系統開發的困難和複雜性。

通過大量的練習-答案和問題-解決方案鞏固所學的知識。

使用視覺化系統建模的標準——UML,討論使用Web技術和資料庫技術進行開發。

新增瞭解決方案管理框架(ITIL和COBIT)和系統整合、業務過程建模、Web GUI設計。

《面向物件分析與設計》

作者介紹:

麻志毅,博士,任教於北京大學資訊科學技術學院計算機系。長期以來從事軟體工程方面的教學與科研工作。現已在外學報或會議上發表學術論文70餘篇,主持或參加國家高技術研究發展計劃(863),國家重大基礎研究(973)、國家科技支撐計劃和國家自然科學基金等20餘項國家科技專案。

書籍介紹:

本書是一本關於面向物件分析與設計的教材,講述了面向物件的基本思想、主要概念以及相應的表示法,並給出了詳細的建模過程指導。本書注重理論與實踐相結合,通過給出大量的例題、內容較為詳盡的案例分析以及對建模概念的詳細剖析,闡明瞭如何進行面向物件的分析與設計。

《UML使用者指南》

書籍介紹:

《UML使用者指南(第2版·修訂版)》是UML方面的一部權威著作,3位作者是面向物件方法最早的倡導者、UML的創始人。本版涵蓋了UML2.0。

書中為UML具體特徵的使用提供了指南,描述了使用UML進行開發的過程,旨在讓讀者掌握UML的術語、規則和慣用法,以及如何有效地使用這種語言,知道如何應用UML去解決一些常見的建模問題。

《UML使用者指南(第2版·修訂版)》由7個部分共33章組成,每章都對一組UML特徵及其具體用法進行了詳細闡述,其中大部分按入門、術語和概念、常用建模技術、提示和技巧的方式組織。本書還為高階開發人員提供了在高階建模問題中應用UML的一條非常實用的線索。  

編輯推薦:

UML權威指南,軟體開發人員的必讀著作。

三位面向物件方法倡導者、UML語言創始人聯手打造。

深入、全面的內容和豐富的示例幫助你迅速掌握工業標準建模語言的特性。

《演算法導論》

作者介紹:

Thomas H. Cormen(托馬斯.科爾曼)達特茅斯學院計算機科學系教授、系主任。目前的研究興趣包括:演算法工程、平行計算、具有高延遲的加速計算。他分別於1993年、1986年獲得麻省理工學院電子工程和電腦科學博士、碩士學位,師從CharlesE. Leiserson教授。由於他在計算機教育領域的突出貢獻,Cormen教授榮獲2009年ACM傑出教員獎。


Charles E.Leiserson(查爾斯.雷瑟爾森)麻省理工學院電腦科學與電氣工程系教授,Margaret MacVicar FacultyFellow。他目前主持MIT超級計算技術研究組,並是MIT電腦科學和人工智慧實驗室計算理論研究組的成員。他的研究興趣集中在並行和分散式計算的理論原理,尤其是與工程現實相關的技術研究。Leiserson教授擁有卡內基?梅隆大學電腦科學博士學位,還是ACM、IEEE和SIAM的會士。


Ronald L. Rivest(羅納德.李維斯特)現任麻省理工學院電子工程和計算機科學系安德魯與厄納?維特爾比(Andrew and ErnaViterbi)教授。他是MIT電腦科學和人工智慧實驗室的成員,並領導著其中的資訊保安和隱私中心。他1977年從斯坦福大學獲得計算機博士學位,主要從事密碼安全、電腦保安演算法的研究。他和AdiShamir和LenAdleman一起發明了RSA公鑰演算法,這個演算法在資訊保安中獲得的突破,這一成果也使他和Shamir、Adleman一起得到2002年ACM圖靈獎。他現在擔任國家密碼學會的負責人。


書籍介紹:

全書共八部分,內容涵蓋基礎知識、排序和順序統計量、資料結構、設計和分析技術、資料結構、圖演算法、演算法問題選編,以及數學基礎知識。書中深入淺出地介紹了大量的演算法及相關的資料結構,以及用於解決一些複雜計算問題的**策略(如動態規劃、貪心演算法、攤還分析等),重點在於演算法的分析與設計。對於每一個專題,作者都試圖提供目前*新的研究成果及樣例解答,並通過清晰的圖示來說明演算法的執行過程。此外,全書包含957道練習和158道思考題,並且作者在網站上給出了部分題的答案。 

媒體評論:

 “鑑於資料量的爆炸性增長,和計算應用的多樣性,現在比以往更需要有效演算法。這本書條理清晰,是一本非常好的演算法設計與分析方面的導論性書籍。每章前半部分介紹了講授和學習演算法的有效方法,後半部分為更專業的讀者和求知慾強的學生提供了更引人入勝的資料來討論這個迷人領域的各種可能性和挑戰。”

—Shang-Hua Teng(騰尚華),南加州大學維特比工學院計算機系Seeley G. Mudd 教授

  “本書是演算法領域的一部經典著作,書中系統、全面地介紹了現代演算法:從最快演算法和資料結構到用於看似難以解決問題的多項式時間演算法;從圖論中的經典演算法到用於字元匹配、計算集合和數論的特殊演算法。本書第3版尤其增加了兩章專門討論van Emde Boas樹(最有用的資料結構之一)和多執行緒演算法(日益重要的一個主題)。”

——Daniel Spielman,耶魯大學電腦科學和應用數學Henry Ford II教授

“作為一個在演算法領域有著近30年教育和研究經驗的教育者和研究人員,我可以清楚明白地說這本書是我所見到的該領域最好的教材。它對演算法給出了清晰透徹、百科全書式的闡述。我們將繼續使用這本書的新版作為研究生和本科生的教材和可以信賴的研究參考書。”

——Gabriel Robins,弗吉尼亞大學工程和應用科學學院計算機科學系教授

相關推薦

100程式設計師這些至少10

堅持閱讀好書是學習Java並且快速提升技術的最好方式之一。但是,市面上與Java技術相關的書籍可謂數不勝數,如何從這些質量參差不齊的眾多書中選擇出優秀的書籍,就成為了Java程式設計師面對的第一個問題。不用擔心,今天我們將福利奉上,年入百萬的程式設計師,告訴你,他曾經看過的一

程式設計師他是如何高興的接手別人遺留下的程式碼的?

對於別人遺留下來的程式碼該如何接手呢?這應該是大多數剛入職的程式設計師面臨的問題!其實這情況分為兩種,第一種是前人還在職,這種情況你可以向他請教一下程式碼的整體架構以及當時為什麼這麼做。特別是一些業務程式碼,裡面肯定含了很多細節,一定要弄懂,不懂就問前輩,最後對整個業務瞭解後可以考慮對程式碼

寫給剛行的程式設計師這幾段話要記住了

1、作為前端開發者,使用雙顯示器能大幅提高開發效率。 2、學程式設計最好的語言不是PHP,是English。 3、自己做的東西交付之前先測試一遍。 4、問別人之前最好先自己百度,google一下,以免問出太低階的問題。 5、把覺得不靠譜的需求放到最後做,很可能到時候需求

坑的程式設計師我該告訴你點什麼?(高齡程式設計師的大實話)

現在網際網路越來越發達,導致越來越多的人加入了程式設計師這個行列,或者說入了這個坑。那麼剛入坑的程式設計師你應該知道些什麼呢?下面是大佬的一些建議:在這裡相信有許多想要學習前端的同學,關注小編文章最後面文字,可免費領取一整套系統的web前端學習教程!正文少說廢話,多寫程式碼廢

成為Java頂尖程式設計師 這9本書就夠了

“學習的最好途徑就是看書”,這是我自己學習並且小有了一定的積累之後的第一體會。個人認為看書有兩點好處: 1.能出版出來的書一定是經過反覆的思考、雕琢和稽核的,因此從專業性的角度來說,一本好書的價值遠超其他資料 2.對著書上的程式碼自己敲的時候方便 “看

美團程式設計師吐槽:被裁後公司賠償10應該開心嗎?

最近網際網路的日子並不好過,許多企業都加入了裁員行列,京東,知乎,美團等無一例外,裁員的手段都非常雷同,幾乎不給員工考慮時間,給你規定的賠償,幾天之內甚至當天就讓走人,不拖泥帶水,雷厲風行。更有甚者像某直播公司,HR直飛深圳,將整個團隊全部解散,程式設計師上午還在敲程式碼,下午就被告知團隊已經不復存

單推薦:成為Java頂尖程式設計師 這11本書就夠了

“學習的最好途徑就是看書“,這是我自己學習並且小有了一定的積累之後的第一體會。個人認為看書有兩點好處: 1.能出版出來的書一定是經過反覆的思考、雕琢和稽核的,因此從專業性的角度來說,一本好書的價值遠超其他資料 2.對著書上的程式碼自己敲的時候方便 “看完書之後再次提升

成為Java頂尖程式設計師 10本書就夠了

“學習的最好途徑就是看書“,這是我自己學習並且小有了一定的積累之後的第一體會。個人認為看書有兩點好處:   1.能出版出來的書一定是經過反覆的思考、雕琢和稽核的,因此從專業性的角度來說,一本好書的價值遠超其他資料   2.對著書上的程式碼自己敲的時候方便   “看完書之後

成為Java頂尖程式設計師 這11本書就夠了

學習的最好途徑就是看書“,這是我自己學習並且小有了一定的積累之後的第一體會。個人認為看書有兩點好處: 1. 能出版出來的書一定是經過反覆的思考、雕琢和稽核的,因此從專業性的角度來說,一本好書的價值遠超其他資料 2. 對著書上的程式碼自己敲的時候方便 “

成為Java頂尖程式設計師這11本書就夠了

來源:程式設計師之家學習的最好途徑就是看書“,這是我自己學習並且小有了一定的積累之後的第一體會。

做了快6研發的女程式設計師轉行做什麼合適呢?

      2012年10月份我來到北京,開始從事軟體開發(JAVA程式設計師)工作,到現在已經有5年多的時間了, 技術能力一般,剛開始的一年半時間在一家做交通行業的公司打雜,由於當時是公司裡年齡最小的,而且剛實習技術不

成為java頂級程式設計師這11本書

學習的最好途徑就是看書“,這是我自己學習並且小有了一定的積累之後的第一體會。個人認為看書有兩點好處:1.能出版出來的書一定是經過反覆的思考、雕琢和稽核的,因此從專業性的角度來說,一本好書的價值遠超其他資料2.對著書上的程式碼自己敲的時候方便“看完書之後再次

成為Java頂尖程式設計師 這11本書就夠了及十個必備的技術網站

"學習的最好途徑就是看書",這是我自己學習並且小有了一定的積累之後的第一體會。個人認為看書有兩點好處: 能出版出來的書一定是經過反覆的思考、雕琢和稽核的,因此從專業性的角度來說,一本好書的價值遠超其他資料; 對著書上的程式碼自己敲的時候方便。 "看完書之後再

@程式設計師請掌握這些核心生存技能

大咖你好,作為一個程式設計初學者,有什麼需要注意的? 以上是一個讀者流年似水的提問。我把他的問題置頂了,但一直沒想好怎麼回答,因為問題太過籠統了。後來,他也可能意識到了這一點,就又給我發了一條微信: 在嗎?老師。我們作為新人應該在編寫程式碼的過程中注意哪些問題呢? 這個問題其實也不太好回答,因為要注意

ag視訊平臺網站作假是真的嗎這些你就會明白不可能作假的

應該 什麽 會有 並不是 玩家 速度 自己 自己的 問題 信譽首選【永久網址864968.C○㎡】AG真人視訊網站,首先你要明白ag是什麽,ag其實只做源頭,它沒有自己的網苔,這點一定要清楚,不要被一些詞語給蒙蔽了。如果理解了ag只是源頭的話,那就應該明白是怎麽回事了,作為

求出100以內的素數並將這些在螢幕上5個一行地顯示出來。

class prime{ public boolean prime(int n){ for(int i=2;i<n;i++) { if(n%i==0) return false; } return true; } } public class

程式設計師了別人一個方法7000行程式碼得我頭都大了!

在寫程式碼,文件方面,程式設計師最喜歡且最常做的是不寫文件,不寫程式碼註釋,最不願意看到就是:別人不寫文件,別人不寫程式碼註釋,這幾乎是所有程式設計師的一個狀態吧。遇到無文件,無註釋,無人可問的程式碼,對於一個程式設計師來說是比較崩潰的,對麼?想必有部分程式設計師朋友可能會遇到這樣尷尬的場景,不過比

作為剛職的java程式設計師時間內如何提升自己的實力讓自己更有競爭力?

做的更多,做的比你主管安排給你的任務更多。 我在HW的時候,負責一個版本的開發,這個版本的工作量大約是2000行左右,但是我除了做完這個功能,還將關聯的功能全部掌握清楚了,程式碼(大約10000行)也全部看了一遍,做完這個版本後,我對這個版本相關的整套業務全部很熟悉了。經

如何成為月程式設計師他們告訴你!

很多程式設計師喜歡調侃說自己是“碼農”: 在工作上被各種使喚, 各種加班,累得像個牲口。 在職業發展上各種迷茫和彷徨, 完全看不到未來的希望, 更別說可以成為一個手藝人 用自己的技能變現了。 但是在這個資訊高度流通, 獲取資訊門欄越來越低的社會, 主動的“學會學習”往往 比被動接受任務更有利於 自己的職

【本人禿頂程式設計師10老兵忠告程式設計師如果哪一天頹廢了受打擊了下吧

←←←←←←←←←←←← 快!點關注!!! 展望未來,總結過去10年的程式設計師生涯,給程式設計師小弟弟小妹妹們的一些總結性忠告。 走過的路,回憶起來是那麼曲折,把自己的一些心得體會分享給程式設計師兄弟姐妹們,雖然時代在變化,但是很可能你也會走我已經做過的10年的路程,有些心得體會你可以