目錄
Algorithms Unlocked
出版者的話
譯者序
前言
第1章什么是算法以及為什么應(yīng)該關(guān)注算法1
1.1正確性2
1.2資源利用3
1.3針對非計算機(jī)專業(yè)人士的計算機(jī)算法5
1.4針對計算機(jī)專業(yè)人士的計算機(jī)算法6
1.5拓展閱讀7
第2章如何描述和評估計算機(jī)算法9
2.1如何描述計算機(jī)算法9
2.2如何描述運(yùn)行時間16
2.3循環(huán)不變式19
2.4遞歸21
2.5拓展閱讀23
第3章排序算法和查找算法24
3.1二分查找26
3.2選擇排序31
3.3插入排序34
3.4歸并排序38
3.5快速排序47
3.6小結(jié)55
3.7拓展閱讀57
第4章排序算法的下界和如何超越下界58
4.1基于排序的規(guī)則58
4.2基于比較排序的下界59
4.3使用計數(shù)排序超越下界60
4.4基數(shù)排序66
4.5拓展閱讀68
第5章有向無環(huán)圖69
5.1有向無環(huán)圖72
5.2拓?fù)渑判?2
5.3如何表示有向圖76
5.4拓?fù)渑判虻倪\(yùn)行時間77
5.5PERT圖表中的關(guān)鍵路徑78
5.6有向無環(huán)圖中的最短路徑82
5.7拓展閱讀86
第6章最短路徑87
6.1Dijkstra算法89
6.2BellmanFord算法98
6.3FloydWarshall算法103
6.4拓展閱讀112
第7章字符串算法114
7.1最長公共子序列114
7.2字符串轉(zhuǎn)換120
7.3字符串匹配128
7.4拓展閱讀135
第8章密碼學(xué)基礎(chǔ)136
8.1簡單替代密碼137
8.2對稱密鑰加密138
8.3公鑰加密142
8.4RSA加密系統(tǒng)144
8.5混合加密系統(tǒng)153
8.6計算隨機(jī)數(shù)153
8.7拓展閱讀154
第9章數(shù)據(jù)壓縮156
9.1哈夫曼編碼158
9.2傳真機(jī)165
9.3LZW壓縮166
9.4拓展閱讀176
第10章難?問題177
10.1棕卡車問題177
10.2P、NP和NP完全類181
10.3可判定問題和歸約183
10.4主問題186
10.5NP完全問題例析188
10.6總體策略203
10.7前景206
10.8不可判定問題208
10.9小結(jié)210
10.10拓展閱讀211
參考文獻(xiàn)212
索引214