演算法基礎(打開演算法之門) 算法基础:打开算法之门

托馬斯, H., 科爾曼(Thomas, H., Corme)

買這商品的人也買了...

商品描述

<內容簡介>
   
本書介紹了什麼是計算機算法,如何描述它們,以及如何來評估它們。這些計算機算法將提供:利用計算機搜索信息的簡單方式;解決各種排序問題的方法;利用有向無環圖和最短路徑法來解決基本問題的方法(可用於建模公路網絡,任務間的依賴及金融關係);解決字符串(例如DNA結構)問題的方法;密碼學背後的基本原理;數據壓縮的基礎知識;以及甚至一些沒有人能夠理解如何在計算機上用相當長的時間來解決的問題。
本書適合作為計算機專業本科生“算法設計與分析”課程的教材,也適合相關專業人員閱讀。

<章節目錄>

出版者的話
譯者序
前言
第1章什麼是算法以及為什麼應該關註算法1
1.1正確性2
1.2資源利用3
1.3針對非計算機專業人士的計算機算法5
1.4針對計算機專業人士的計算機算法6
1.5拓展閱讀7
第2章如何描述和評估計算機算法9
2.1如何描述計算機算法9
2.2如何描述運行時間16
2.3循環不變式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小結55
3.7拓展閱讀57
第4章排序算法的下界和如何超越下界58
4.1基於排序的規則58
4.2基於比較排序的下界59
4.3使用計數排序超越下界60
4.4基數排序66
4.5拓展閱讀68
第5章有向無環圖69
5.1有向無環圖72
5.2拓撲排序72
5.3如何表示有向圖76
5.4拓撲排序的運行時間77
5.5PERT圖表中的關鍵路徑78
5.6有向無環圖中的最短路徑82
5.7拓展閱讀86
第6章最 ​​短路徑87
6.1Dijkstra算法89
6.2BellmanFord算法98
6.3FloydWarshall算法103
6.4拓展閱讀112
第7章字符串算法114
7.1最長公共子序列114
7.2字符串轉換120
7.3字符串匹配128
7.4拓展閱讀135
第8章密碼學基礎136
8.1簡單替代密碼137
8.2對稱密鑰加密138
8.3公鑰加密142
8.4RSA加密系統144
8.5混合加密系統153
8.6計算隨機數153
8.7拓展閱讀154
第9章數據壓縮156
9.1哈夫曼編碼158
9.2傳真機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小結210
10.10拓展閱讀211
參考文獻212
索引214