- 相關推薦
計算機書籍推薦
學計算機要從娃娃抓起,想要學習好計算機需要看哪本書籍呢?今天CN人才小編推薦閱讀《算法導論》,知識一本計算機基礎書籍,希望能夠給大家提供幫助!
內容簡介
在有關算法的書中,有一些敘述非常嚴謹,但不夠全面;另一些涉及了大量的題材,但又缺乏嚴謹性!端惴▽д(原書第3版)/計算機科學叢書》將嚴謹性和全面性融為一體,深入討論各類算法,并著力使這些算法的設計和分析能為各個層次的讀者接受。全書各章自成體系,可以作為獨立的學習單元;算法以英語和偽代碼的形式描述,具備初步程序設計經驗的人就能看懂;說明和解釋力求淺顯易懂,不失深度和數學嚴謹性。
《算法導論(原書第3版)/計算機科學叢書》全書選材經典、內容豐富、結構合理、邏輯清晰,對本科生的數據結構課程和研究生的算法課程都是非常實用的教材,在IT專業(yè)人員的職業(yè)生涯中,《算法導論(原書第3版)/計算機科學叢書》也是一本案頭必備的參考書或工程實踐手冊。
第3版的主要變化:
·新增了van Emde Boas樹和多線程算法,并且將矩陣基礎移至附錄。
·修訂了遞歸式(現在稱為“分治策略”)那一章的內容,更廣泛地覆蓋分治法。
·移除兩章很少講授的內容:二項堆和排序網絡。
·修訂了動態(tài)規(guī)劃和貪心算法相關內容。
·流網絡相關材料現在基于邊上的全部流。
·由于關于矩陣基礎和Strassen算法的材料移到了其他章,矩陣運算這一章的內容所占篇幅更小。
·修改了對Knuth-Morris-Pratt字符串匹配算法的討論。
·新增100道練習和28道思考題,還更新并補充了參考文獻。
作者簡介
Thomas H. Cormen (托馬斯·科爾曼),達特茅斯學院計算機科學系教授、系主任。目前的研究興趣包括:算法工程、并行計算、具有高延遲的加速計算。他分別于1993年、1986年獲得麻省理工學院電子工程和計算機科學博士、碩士學位,師從Charles E. Leiserson教授。由于他在計算機教育領域的突出貢獻,Cormen教授榮獲2009年ACM杰出教員獎。
Charles E. Leiserson(查爾斯·雷瑟爾森),麻省理工學院計算機科學與電氣工程系教授,Margaret MacVicar Faculty Fellow。他目前主持MIT超級計算技術研究組,并是MIT計算機科學和人工智能實驗室計算理論研究組的成員。他的研究興趣集中在并行和分布式計算的理論原理,尤其是與工程現實相關的技術研究。Leiserson教授擁有卡內基·梅隆大學計算機科學博士學位,還是ACM、IEEE和SIAM的會士。
Ronald L. Rivest (羅納德·李維斯特),現任麻省理工學院電子工程和計算機科學系安德魯與厄納·維特爾比(Andrew and Erna Viterbi)教授。他是MIT計算機科學和人工智能實驗室的成員,并領導著其中的信息安全和隱私中心。他1977年從斯坦福大學獲得計算機博士學位,主要從事密碼安全、計算機安全算法的研究。他和Adi Shamir和Len Adleman一起發(fā)明了RSA公鑰算法,這個算法在信息安全中獲得大的突破,這一成果也使他和Shamir、Adleman一起得到2002年ACM圖靈獎。他現在擔任國家密碼學會的負責人。
Clifford Stein(克利福德·斯坦),哥倫比亞大學計算機科學系和工業(yè)工程與運籌學系教授,他還是工業(yè)工程與運籌學系的系主任。在加入哥倫比亞大學大學之前,他在達特茅斯學院計算機科學系任教9年。Stein教授擁有MIT碩士和博士學位。他的研究興趣包括:算法的設計與分析,組合優(yōu)化、運籌學、網絡算法、調度、算法工程和生物計算。
精彩書評
★“鑒于數據量的爆炸性增長,和計算應用的多樣性,現在比以往更需要有效算法。這本書條理清晰,是一本非常好的算法設計與分析方面的導論性書籍。每章前半部分介紹了講授和學習算法的有效方法,后半部分為更專業(yè)的讀者和求知欲強的學生提供了更引人入勝的資料來討論這個迷人領域的各種可能性和挑戰(zhàn)!
——Shang-Hua Teng(騰尚華),南加州大學維特比工學院計算機系Seeley G. Mudd 教授
★“本書是算法領域的一部經典著作,書中系統(tǒng)、全面地介紹了現代算法:從較快算法和數據結構到用于看似難以解決問題的多項式時間算法;從圖論中的經典算法到用于字符匹配、計算集合和數論的特殊算法。本書第3版尤其增加了兩章專門討論van Emde Boas樹(有用的數據結構之一)和多線程算法(日益重要的一個主題)!
——Daniel Spielman,耶魯大學計算機科學和應用數學Henry Ford II教授
精彩書摘
證明 每個結點的秩從0開始,并且只有執(zhí)行了LINK操作,它才會增加。因為最多有n—1個UNION操作,所以同樣最多有n—1個LINK操作。因為每個LINK操作或者不改變任何的秩,或者將某結點的秩加1,所以所有的秩最大為n—1。
引理21.6提供了一個關于結點秩的較弱的界。事實上,每個結點的秩最大為(lgn)(見練習21.4—2)。然而,引理21.6的這個較松的界已足夠滿足我們的要求。
時間界的證明 我們將利用攤還分析中的勢方法(見17.3節(jié))來證明O(ma(n))的時間界。在進行攤還分析時,為了方便起見,我們假設不調用UNION操作,而是調用LINK操作。也就是說,因為LINK過程的參數是指向兩個根的指針,故我們獨立使用相應的FIND—SET操作。下面的引理說明即使因調用UNION而導致額外的FIND—SET操作,其漸近運行時間仍然保持不變。
前言/序言
在計算機出現之前,就有了算法。現在有了計算機,就需要更多的算法,算法是計算的核心。
本書提供了對當代計算機算法研究的一個全面、綜合的介紹。書中給出了多個算法,并對它們進行了較為深入的分析,使得這些算法的設計和分析易于被各個層次的讀者所理解。我們力求在不犧牲分析的深度和數學嚴密性的前提下,給出深入淺出的說明。
書中每一章都給出了一個算法、一種算法設計技術、一個應用領域或一個相關的主題。算法是用英語和一種“偽代碼”來描述的,任何有一點程序設計經驗的人都能看得懂。書中給出了244幅圖,說明各個算法的工作過程。我們強調將算法的效率作為一種設計標準,對書中的所有算法,都給出了關于其運行時間的詳細分析。
本書主要供本科生和研究生的算法或數據結構課程使用。因為書中討論了算法設計中的工程問題及其數學性質,所以,本書也可以供專業(yè)技術人員自學之用。
本書是第3版。在這個版本里,我們對全書進行了更新,包括新增了若干章、修訂了偽代碼等。
致使用本書的教師
本書的設計目標是全面、適用于多種用途。它可用于若干課程,從本科生的數據結構課程到研究生的算法課程。由于書中給出的內容比較多,只講一學期一般講不完,因此,教師們應該將本書看成是一種“緩存區(qū)”或“瑞典式自助餐”,從中挑選出能最好地支持自己希望教授的課程的內容。
教師們會發(fā)現,要圍繞自己所需的各個章節(jié)來組織課程是比較容易的。書中的各章都是相對獨立的,因此,你不必擔心意想不到的或不必要的各章之間的依賴關系。每一章都是以節(jié)為單位,內容由易到難。如果將本書用于本科生的課程,可以選用每一章的前面幾節(jié)內容;用于研究生的課程中,則可以完整地講授每一章。
全書包含957道練習和158道思考題。每一節(jié)結束時給出練習,每一章結束時給出思考題。練習一般比較短,用于檢查學生對書中內容的基本掌握情況。有一些是簡單的自查性練習,有一些則要更充實,可以作為家庭作業(yè)布置給學生。每一章后的思考題都是一些敘述較為詳細的實例研究,它們常常會介紹一些新的知識。一般來說,這些思考題都會包含幾個小問題,引導學生逐步得到問題的解。
鑒于本書前幾版使用的反饋,我們在本書配套網站上公布了其中一些練習和思考題的答案(但不是全部)。我們會定期更新這些答案,因此需要教師每次授課前都到這個網站上來查看。
在那些不太適合本科生、更適合研究生的章節(jié)和練習前面,都加上了星號(?)。帶星號的章節(jié)也不一定就比不帶星號的更難,但可能要求了解更多的數學知識。類似地,帶星號的練習可能要求有更好的數學背景或創(chuàng)造力。
致使用本書的學生
希望本教材能為學生們提供關于算法這一領域的有趣介紹。我們力求使書中給出的每一個算法都易于理解和有趣。為了在同學們遇到不熟悉或比較困難的算法時提供幫助,我們逐個步驟地描述每一個算法。此外,為了便于大家理解書中對算法的分析,對于其中所需的數學知識,我們給出了詳細的解釋。如果對某一主題已經有所了解,會發(fā)現根據書中各章的編排順序,可以跳過一些介紹性的小節(jié),直接閱讀更高級的內容。
本書是一本大部頭著作,讀者所修的課程可能只講授其中的一部分。我們試圖使它能成為一本現在對讀者有用的教材,將來在讀者的職業(yè)生涯中,也能成為一本案頭的數學參考書或工程實踐手冊。
【計算機書籍】相關文章:
好看的書籍07-30
好看的書籍05-27
經典哲學書籍推薦10-10
兒童書籍推薦08-02
攝影入門的書籍08-05
經典理財書籍推薦08-29
佛教入門書籍09-19
梁啟超推薦經典國學書籍07-16
幼兒教育書籍09-28
最勵志的書籍推薦08-16