算法設計與分析(第3版)(2021年清華大學出版社出版的圖書)

算法設計與分析(第3版)(2021年清華大學出版社出版的圖書)

本詞條是多義詞,共3個義項
更多義項 ▼ 收起列表 ▲

《算法設計與分析(第3版)》是2021年3月清華大學出版社出版的圖書,作者是鄭宗漢,鄭曉明,本書系統地介紹了算法設計與分析的概念和方法。

基本介紹

  • 中文名:算法設計與分析(第3版)
  • 作者:鄭宗漢、鄭曉明
  • 出版社:清華大學出版社
  • ISBN:9787302457206
內容簡介,圖書目錄,

內容簡介

《算法設計與分析》系統地介紹了算法設計與分析的概念和方法,共4篇內容。1篇介紹算法設計與分析的基本概念,結合窮舉法、排序問題及其他一些算法,對算法的時間複雜性的概念及複雜性的分析方法作了較為詳細的敘述;2篇以算法設計技術為綱,從合併排序、堆排序、離散集合的union和find作開始,進而介紹遞歸技術、分治法、貪婪法、動態規劃、回溯法、分支與限界法和算法等算法設計技術及其複雜性分析;3篇介紹計算機套用領域裡的一些算法,如圖和網路流,以及計算幾何中的一些問題;4篇介紹算法設計與分析中的一些理論問題,如NP完全問題、計算複雜性問題、下界理論問題,後介紹近似算法及其性能分析。《算法設計與分析》內容選材適當、編排合理、由淺入深、循序漸進、互相銜接、逐步展開,並附有大量實例,既注重算法的思想方法、推導過程和正確性的證明技術,也注重算法所涉及的數據結構、算法的具體實現和算法的工作過程。《算法設計與分析》可作為高等院校計算機專業本科生和研究生的教材,也可作為計算機科學與套用的科學技術人員的參考資料。

圖書目錄

篇 算法設計與分析的基本概念
章 算法的基本概念 2
1.1 引言 2
1.1.1算法的定義和特徵 2
1.1.2算法設計的例子——窮舉法 4
1.1.3算法的複雜性分析 7
1.2 算法的時間複雜性 8
1.2.1算法的輸入規模和運行時間的階 8
1.2.2運行時間的上界——O記號 11
1.2.3運行時間的下界——Ω記號 12
1.2.4運行時間的準確界——Θ記號 13
1.2.5O記號、Ω記號、Θ記號的性質 17
1.2.6複雜性類型和o記號 18
習題 19
參考文獻 20
2章 算法的複雜性分析 21
2.1 常用的函式和公式 21
2.1.1整數函式 21
2.1.2對數函式 22
2.1.3排列、組合和二項式係數 23
2.1.4級數求和 24
2.2 算法的時間複雜性分析 25
2.2.1循環次數的統計 26
2.2.2基本作頻率的統計 29
2.2.3計算步的統計 32
2.3 好情況、壞情況和平均情況分析 33
2.3.1好情況、壞情況和平均情況 33
2.3.2好情況和壞情況分析 34
2.3.3平均情況分析 37
2.4 用生成函式求解遞歸方程40
2.4.1生成函式及其性質 40
2.4.2用生成函式求解遞歸方程 43
2.5 用特徵方程求解遞歸方程46
2.5.1k階常係數線性齊次遞歸方程 47
2.5.2k階常係數線性非齊次遞歸方程 49
2.6 用遞推方法求解遞歸方程51
2.6.1遞推 52
2.6.2用遞推法求解變係數遞歸方程 52
2.6.3換名 54
2.7 算法的空間複雜性 56
2.8 優算法 57
習題 58
參考文獻 60
2篇 算法設計的基本技術
3章 排序問題和離散集合的作62
3.1 合併排序 62
3.1.1合併排序算法的實現 62
3.1.2合併排序算法的分析 64
3.2 基於堆的排序 65
3.2.1堆 66
3.2.2堆的作 67
3.2.3堆的建立 70
3.2.4堆的排序 73
3.3 基數排序 74
3.3.1基數排序算法的思想方法 74
3.3.2基數排序算法的實現 76
3.3.3基數排序算法的分析 78
3.4 離散集合的Union_Find作 79
3.4.1用於Union_Find作的數據結構 79
3.4.2union、find作及路徑壓縮 81
習題 84
參考文獻 85
4章 遞歸和分治 86
4.1 基於歸納的遞歸算法 86
4.1.1基於歸納的遞歸算法的思想方法 86
4.1.2遞歸算法的例子 87
4.1.3排列問題的遞歸算法 91
4.1.4求數組主元素的遞歸算法 95
4.1.5整數劃分問題的遞歸算法 98
4.2 分治法 100
4.2.1分治法的例子 100
4.2.2分治法的設計原理 104
4.2.3快速排序 111
4.2.4多項式乘積和大整數乘法 116
4.2.5平麵點集接近點對問題 123
4.2.6選擇問題 130
4.2.7殘缺棋盤問題 136
習題 141
參考文獻 143
5章 貪婪法 145
5.1 貪婪法概述 146
5.1.1貪婪法的設計思想 146
5.1.2貪婪法的例子——貨郎擔問題 147
5.2 背包問題 148
5.2.1背包問題貪婪算法的實現 148
5.2.2背包問題貪婪算法的分析 150
5.3 單源短路徑問題 151
5.3.1解短路徑的狄斯奎諾算法 151
5.3.2狄斯奎諾算法的實現 153
5.3.3狄斯奎諾算法的分析 155
5.4 小花費生成樹問題 156
5.4.1小花費生成樹概述 156
5.4.2克魯斯卡爾算法 157
5.4.3普里姆算法 161
5.5 霍夫曼編碼問題 165
5.5.1前綴碼和優二樹 165
5.5.2霍夫曼編碼的實現 169
習題 171
參考文獻 173
6章 動態規劃 174
6.1 動態規劃的思想方法 174
6.1.1動態規劃的優決策原理 174
6.1.2動態規劃實例——貨郎擔問題 175
6.2 多段圖的短路徑問題177
6.2.1多段圖的決策過程 178
6.2.2多段圖動態規划算法的實現 180
6.3 資源分配問題 181
6.3.1資源分配的決策過程 182
6.3.2資源分配算法的實現 184
6.4 設備更新問題 187
6.4.1設備更新問題的決策過程 187
6.4.2設備更新算法的實現 190
6.5 長公共子序列問題 192
6.5.1長公共子序列的搜尋過程 192
6.5.2長公共子序列算法的實現 195
6.60/1背包問題 196
6.6.10/1背包問題的求解過程 196
6.6.20/1背包問題的實現 198
6.7RNA大鹼基對匹配問題 199
6.7.1RNA大鹼基對匹配的搜尋過程 200
6.7.2RNA大鹼基對匹配算法的實現 203
習題 205
參考文獻 207
7章 回溯 208
7.1 回溯法的思想方法 208
7.1.1問題的解空間和狀態空間樹 208
7.1.2狀態空間樹的動態搜尋 209
7.1.3回溯法的一般性描述 211
7.2n皇后問題 213
7.2.1n皇后問題的求解過程 213
7.2.2n皇后問題算法的實現 215
7.3 圖的著問題 217
7.3.1圖著問題的求解過程 218
7.3.2圖的m著問題算法的實現 220
7.4 哈密爾頓迴路問題 222
7.4.1哈密爾頓迴路的求解過程 222
7.4.2哈密爾頓迴路算法的實現 224
7.50/1背包問題 225
7.5.1回溯法解0/1背包問題的求解過程 226
7.5.2回溯法解0/1背包問題算法的實現 229
7.6 回溯法的效率分析 231
習題 234
參考文獻 235
8章 分支與限界 236
8.1 分支與限界法的基本思想236
8.2 作業分配問題 238
8.2.1分支限界法解作業分配問題的思想方法 238
8.2.2分支限界法解作業分配問題算法的實現 241
8.3 單源短路徑問題 244
8.3.1分支限界法解單源短路徑問題的思想方法 244
8.3.2分支限界法解單源短路徑問題算法的實現 246
8.40/1背包問題 248
8.4.1分支限界法解0/1背包問題的思想方法和求解過程 249
8.4.20/1背包問題分支限界算法的實現 251
8.5 貨郎擔問題 254
8.5.1費用矩陣的特性及歸約 254
8.5.2界限的確定和分支的選擇 256
8.5.3貨郎擔問題的求解過程 259
8.5.4幾個輔助函式的實現 262
8.5.5貨郎擔問題分支限界算法的實現 268
習題 271
參考文獻 272
9章 算法 273
9.1 算法概述 273
9.1.1算法的類型 273
9.1.2數發生器 274
9.2 舍伍德算法 275
9.2.1快速排序算法 275
9.2.2選擇算法 277
9.3 拉斯維加斯算法 280
9.3.1字元串匹配 280
9.3.2整數因子 284
9.4 蒙特卡羅算法 285
9.4.1數組的主元素問題 285
9.4.2素數測試 287
習題 290
參考文獻 291
3篇 計算機套用領域的一些基法
10章 圖和網路問題 294
10.1圖的遍歷 294
10.1.1圖的深度優先搜尋遍歷 294
10.1.2圖的廣度優先搜尋遍歷 299
10.1.3無向圖的接合點 301
10.1.4有向圖的強連通分支 305
10.2網路流 308
10.2.1網路流的概念 308
10.2.2Ford_Fulkerson方法和大容量增廣 312
10.2.3短路徑增廣 315
10.3二分圖的大匹配問題 320
10.3.1預備知識 321
10.3.2二分圖大匹配的匈牙利樹方法 323
習題 329
參考文獻 331
11章 計算幾何問題 332
11.1引言 332
11.2平面線段的交點問題 334
11.2.1尋找平面線段交點的思想方法 335
11.2.2尋找平面線段交點的實現 337
11.3凸殼問題 342
11.3.1凸殼問題的格雷厄姆掃描法 343
11.3.2格雷厄姆掃描法的實現 344
11.4平麵點集的直徑問題 346
11.4.1求取平麵點集直徑的思想方法 346
11.4.2平麵點集直徑的求取 348
習題 350
參考文獻 351
4篇 算法設計與分析的一些理論問題
12章 NP完全問題 354
12.1P類和NP類問題 355
12.1.1P類問題 355
12.1.2NP類問題 356
12.2NP完全問題 358
12.2.1NP完全問題的定義 358
12.2.2幾個典型的NP完全問題 360
12.2.3其他NP完全問題 366
12.3co_NP類和NPI類問題 366
習題 369
參考文獻 370
13章 計算複雜性 371
13.1計算模型 371
13.1.1圖靈機的基本模型 371
13.1.2k帶圖靈機和時間複雜性 374
13.1.3離線圖靈機和空間複雜性 376
13.1.4可滿足性問題和Cook定理 379
13.2複雜性類型之間的關係 381
13.2.1時間複雜性和空間複雜性的關係 382
13.2.2時間譜系定理和空間譜系定理 384
13.2.3填充變元 389
13.3歸約 391
13.4完備性 394
13.4.1NLOGSPACE完全問題 394
13.4.2PSPACE完全問題和P完全問題 396
習題 397
參考文獻 398
14章 下界 399
14.1平凡下界 399
14.2判定樹模型 399
14.2.1檢索問題 400
14.2.2排序問題 401
14.3代數判定樹模型 402
14.3.1代數判定樹模型及下界定理 402
14.3.2極點問題 404
14.4線性時間歸約 405
14.4.1凸殼問題 406
14.4.2多項式*值問題 406
習題 408
參考文獻 408
15章 近似算法 409
15.1近似算法的性能 409
15.2裝箱問題 410
15.2.1適宜算法 411
15.2.2適宜算法及其他算法 412
15.3頂點覆蓋問題 414
15.4貨郎擔問題 416
15.4.1歐幾里得貨郎擔問題 417
15.4.2一般的貨郎擔問題 419
15.5多項式近似方案 419
15.5.10/1背包問題的多項式近似方案 420
15.5.2子集求和問題的完全多項式近似方案 423
習題 425
參考文獻 426
參考文獻 427

相關詞條

熱門詞條

聯絡我們