學過計算機的都知道,這本書是全世界最權威的算法課程的大學課本了,基本上全世界的名牌大學用的教材都是它。這本書一共四位作者,Thomas H. Cormen,Charles E. Leiserson和Ronald L. Rivest是來自MIT的教授,Clifford Stein是MIT出來的博士,現在哥倫比亞大學做教授,四人姓氏的首字母聯在一起即是此書的英文簡稱(CLRS 2e),其中的第三作者Ronald L. Rivest是RSA算法的老大(算法名字裡面的R即是指他),四個超級大牛出的一本書,此書不看人生不能算完整。
基本介紹
- 書名:麻省理工學院-算法導論
- 出版時間:2001年
- 地區:美國
- 語言:英語
基本信息,課本介紹,課本目錄,相關,
基本信息
中文名稱:麻省理工學院-算法導論
英文名稱:MIT - Introduction to Algorithms
版本:2006年5月15號更新完畢
發行時間:2001年
地區:美國
語言:英語
課本介紹
本書自第一版出版以來,已經成為世界範圍內廣泛使用的大學教材和專業人員的標準參考手冊。本書全面論述了算法的內容,從一定深度上涵蓋了算法的諸多方面,同時其講授和分析方法又兼顧了各個層次讀者的接受能力。各章內容自成體系,可作為獨立單元學習。所有算法都用英文和偽碼描述,使具備初步編程經驗的人也可讀懂。全書講解通俗易懂,且不失深度和數學上的嚴謹性。第二版增加了新的章節,如算法作用、機率分析與隨機算法、線性編程等,幾乎對第一版的各個部分都作了大量修訂。
這份時間表提供了授課,演示課題目,作業,測驗的日期,及指定要從課本“算法導論,第二版”內閱讀的課文。
課本目錄
1 第一課 課程細節;序論:算法分析,插入排序法(Insertion Sort),合併排序(Merge Sort) 閱讀:1-2章
發測驗 0
2 演示課 1 算法的正確性
發《作業 1》
3 第二課 漸進表示(Asymptotic Notation)。遞歸公式(Recurrences):置換法,疊代法,主方式
閱讀:3-4 章,除了§4.4
4 第三課 各個擊破法: Strassen 算法,費氏數列,多項式乘法。
閱讀:28 章第 2 節,30章第1節
5 演示課 2 遞歸公式,鬆散性
閱讀:Akra-Bazzi 的講義
6 第四課 快速排序法,隨機化算法
閱讀:5 章 1 到 3 節,7 章
收《作業 1》發《作業 2》
7 演示課 3 排序法:堆積排序法,動態集合,優先佇列
閱讀:6 章
8 第五課 線性時間的排序法,下限,計數排序法, 基數排序法
閱讀: 8 章第 1 到 3 節
收《作業 2》發《作業 3》
9 第六課 序列統計,中位數
閱讀:9 章
10 演示課 4 中位數的套用,桶式排序
閱讀:8 章第 4 節
11 第七課 散列,通用散列
閱讀: 11 章 1 到 3 節
收《作業 3》發《作業 4》
12 第八課 散列函式,完美散列
閱讀:11 章第 5 節
13 演示課 5 測驗 1 複習
收《作業 4》
14 評分後的作業4可以在中午拿到
15 測驗 1
16 演示課 6 二元搜尋樹,樹的追蹤
閱讀:12 章 1 到 3 節
17 第九課 二元搜尋樹和快速排序法之間的關係;隨機二元搜尋樹的分析
閱讀:12 章 4 節
發《作業 5》
18 第十課 紅黑樹,循環,插入,刪除
閱讀:13 章
19 演示課 7 2-3樹, B-樹
閱讀:18 章 1 到 2 節
20 第十一課 增強數據結構,間距樹
閱讀:14 章
收《作業 5》發《作業 6》
21 第十二課 計算幾何,區間查詢
閱讀:33 章 1 到 2 節
22 演示課 8 凸多邊形
閱讀:33 章 3 節
23 第十三課 van Emde Boas,優先佇列
閱讀:van Emde Boas 的講義
收《作業 6》發《作業 7》
24 第十四課 償還算法,表的複製,可能法
閱讀:17 章
25 演示課 9 競爭分析,自我排序列
26 第十五課 動態編程,最長共同子序列,最優二元搜尋樹
閱讀:15 章
收《作業 7》發《作業 8》
27 第十六課 貪婪算法,最小生成樹
閱讀:16 章 1 到 3 節, 23 章
28 演示課 10 貪婪算法和動態編程的範例
29 第十七課 最短路徑,Dijkstra算法,廣度優先搜尋法
閱讀:22 章1, 2 節;第 580 - 587 頁,24章 3 節
收《作業 8》發《作業 9》
30 演示課 11 深度優先搜尋法,邊的分類
閱讀:22 章 3 到 5 節
31 第十八課 最短路徑,Bellman-Ford,DAG內的最短路徑,差異局限
閱讀:24 章 1, 2, 4, 5 節
32 第十九課 全成對最短路徑,動態編程,Floyd-Warshall,Johnson 的算法
閱讀:25 章
收《作業 9》
33 第二十課 零散集合的數據結構
閱讀:21 章
34 評分後的作業9可以在中午拿到
35 第二十一課 帶回家 發下 測驗 2 ; 道德,解決問題 (強制參加)
發測驗 2
36 沒有演示課 - 解答測驗 2!
37 沒有課
算法程式比賽開始 (非強制參加)
收測驗 2
38 第二十二課 網路流,最大流量最小切割論
閱讀:26 章 1 - 2 節
發《作業 10》 (選答)
39 演示課 12 求對集 (註:最大二分圖求對集)
閱讀:26 章 3 節
40 第二十三課 網路流,Edmonds-Karp 算法
參賽答案截止
41 第二十四課 隨堂測驗;比賽頒獎;後續課程的討論
《作業 10》解答
相關
[沙特]M.H.Alsuwaiyel的《算法設計技巧與分析》(Algorithms Design Techniques and Analysis):這本書主要關注的是算法設計部分。分析了比較多的算法。對數據結構這不是很側重,這本書比CLRS更具有專業氣息,感覺更像教材。由 於我也沒看完,所以不敢多做評價,只能說說我目前看的感覺。
Sartaj Sahni《數據結構、算法與套用》(Data Structures,Algorithms,and Application in C++):清華的那本C++數據結構就是抄這本書的,書對C++語言有一定的要求,呵呵所以對語言不是很熟悉的話,看起來有點痛苦喔!所以並不是很推薦 (如果C++不是學的很好)。書中除了對遞歸沒有詳細的闡述,可以說是個缺陷吧!其他的描述還是很不錯的!翻譯也相當不錯。
Jon Bentley的《編程珠璣》(Programming Pearls,Second Edition):好書的說,沒看完的說!最喜歡的是這本書每章的後面都提供了一些進階閱讀,很是欣賞這一部分。不是說書中其他部分就不好,這本書,確實 很不錯,對一些算法的使用時機給了比較好的引導,什麼時候用合併排序,什麼時候用插入排序,二分查找的重要性。對算法在實際中的套用給予了很好的啟發和評 價。有英文版的,推薦看英文版!中文版的翻譯和一般。呵呵!!不好意思,偶還在看中,只能說到這啦!!!