趣學算法

趣學算法

《趣學算法》是2017年8月人民郵電出版社出版的圖書,作者是陳小玉。

基本介紹

  • 中文名:趣學算法
  • 作者:陳小玉
  • 類別:算法
  • 出版社:人民郵電出版社
  • 出版時間:2017年8月
  • 頁數:587 頁
  • 定價:89 元
  • 開本:小16開
  • 裝幀:平裝
  • ISBN:9787115459572
內容簡介,圖書目錄,

內容簡介

本書內容按照算法策略分為7章。第 1章從算法之美、簡單小問題、趣味故事引入算法概念、時間複雜度、空間複雜度的概念和計算方法,以及算法設計的爆炸性增量問題,使讀者體驗算法的奧妙。第 2~7章介紹經典算法的設計策略、實戰演練、算法分析及最佳化拓展,分別講解貪心算法、分治算法、動態規劃、回溯法、分支限界法、線性規劃和網路流。每一種算法都有4~10個實例,共50個大型實例,包括經典的構造實例和實際套用實例,按照問題分析、算法設計、圖解、偽代碼詳解、實戰演練、算法解析及最佳化拓展的流程,講解清楚且通俗易懂。附錄介紹常見的數據結構及算法改進用到的相關知識,包括sort函式、優先佇列、鄰接表、並查集、四邊不等式、排列樹、貝爾曼規則、增廣路複雜性計算、zui大流zui小割定理等內容。
本書可作為程式設計師的學習用書,也適合從未有過編程經驗但又對算法有強烈興趣的初學者使用,同時也可作為高等院校計算機、數學及相關專業的師生用書和培訓學校的教材。

圖書目錄

第 1章 算法之美 1
1.1 打開算法之門 2
1.2 妙不可言—算法複雜性 2
1.3 美不勝收—魔鬼序列 9
1.4 靈魂之交—馬克思手稿中的數學題 16
1.5 算法學斷企蒸習瓶頸 21
1.6 你怕什麼 22
第 2章 貪心算法 24
2.1 人之初,性本貪 25
2.1.1 貪心本質 25
2.1.2 貪亦有道 26
2.1.3 貪心算法秘籍 26
2.2 加罪祖棕勒比海盜船—**優裝載問題 27
2.2.1 問題分析 27
2.2.2 算法設計 28
2.2.3 完 美圖解 28
2.2.4 偽代碼詳解 29
2.2.5 實戰演練 30
2.2.6 算法解析及最佳化拓展 31
2.3 阿里巴巴與四十大盜—背包問題 32
2.3.1 問謎贈遙題分析 32
2.3.2 算法設計 33
2.3.3 完 美圖解 33
2.3.4 偽代碼詳解 34
2.3.5 實戰演練 35
2.3.6 算法解析及最佳化拓展 36
2.4 高 級鐘點秘書—會議安排 37
2.4.1 問題分析 38
2.4.2 算法設計 39
2.4.3 完 美圖解 40
2.4.4 偽代碼詳解 41
2.4.5 實戰演練 42
2.4.6 算法解析及最佳化拓展 45
2.5 一場說走就走的旅行—**短路徑 45
2.5.1 問題分析 46
2.5.2 算法設計 46
2.5.3 完 美圖解 47
2.5.4 偽代碼詳解 51
2.5.5 實戰演練 52
2.5.6 算法解析及最佳化拓展 55
2.6 神秘電報密碼—哈夫曼編碼 59
2.6.1 問題分析 60
2.6.2 算法設計 62
2.6.3 完 美圖解 63
2.6.4 偽代碼詳解 65
2.6.5 實戰演練 74
2.6.6 算法解析及最佳化拓展 77
2.7 溝通無限校園網—**小生成樹 77
2.7.1 問題分析 78
2.7.2 算法設計 79
2.7.3 完 美圖解 80
2.7.4 偽代碼詳解 87
2.7.5 實戰演練 88
2.7.6 算法解析 90
2.7.7 算法最佳化拓展 90
第3章 分治法 99
3.1 山高皇帝遠 100
3.1.1 治眾如治寡—分而治之 100
3.1.2 天時地利人和—分治算法要素 100
3.1.3 分治算法秘籍 101
3.2 猜數遊戲—二分搜尋技術 101
3.2.1 問題分析 101
3.2.2 算法設計 102
3.2.3 完 美圖解 102
3.2.4 偽代碼詳解 103
3.2.5 實戰演練 104
3.2.6 算法解析與拓展 105
3.3 合久必分,分久必合—合併排序 107
3.3.1 問題分析 108
3.3.2 算法設計 108
3.3.3 完 美圖解 108
3.3.4 偽代碼詳解 108
3.3.5 實戰演采拔駝乘練 111
3.3.6 算法解析與拓展照紙糊章 112
3.4 兵貴神速—快速排序 113
3.4.1 問題分析 114
3.4.2 算法設計 115
3.4.3 完 美圖解 116
3.4.4 偽代碼詳解 117
3.4.5 實戰演練 118
3.4.6 算法解析與茅立重拓展 120
3.5 效率到上—大整數乘法 124
3.5.1 問題分析 124
3.5.2 算法設計 125
3.5.3 完 美圖解 126
3.5.4 偽代碼詳解 128
3.5.5 實戰演練 132
3.5.6 算法解析與拓展 135
3.6 分治算蜜雄法複雜度求解秘籍 137
第4章 動態規劃 141
4.1 神奇的兔子序列 142
4.2 動態規劃基礎 143
4.2.1 算法思想 143
4.2.2 算法要素 143
4.2.3 解題秘籍 143
4.3 孩子有多像爸爸—**長的公共子序列 145
4.3.1 問題分析 145
4.3.2 算法設計 147
4.3.3 完 美圖解 148
4.3.4 偽代碼詳解 152
4.3.5 實戰演練 153
4.3.6 算法解析及最佳化拓展 155
4.4 DNA基因鑑定—編輯距離 156
4.4.1 問題分析 156
4.4.2 算法設計 158
4.4.3 完 美圖解 159
4.4.4 偽代碼詳解 161
4.4.5 實戰演練 162
4.4.6 算法解析及最佳化拓展 163
4.5 長江一日游—遊艇租賃 164
4.5.1 問題分析 164
4.5.2 算法設計 166
4.5.3 完 美圖解 166
4.5.4 偽代碼詳解 170
4.5.5 實戰演練 171
4.5.6 算法解析及最佳化拓展 172
4.6 快速計算—矩陣連乘 172
4.6.1 問題分析 173
4.6.2 算法設計 176
4.6.3 完 美圖解 176
4.6.4 偽代碼詳解 180
4.6.5 實戰演練 181
4.6.6 算法解析及最佳化拓展 182
4.7 切呀切披薩—**優三角剖分 183
4.7.1 問題分析 183
4.7.2 算法設計 186
4.7.3 完 美圖解 187
4.7.4 偽代碼詳解 191
4.7.5 實戰演練 192
4.7.6 算法解析及最佳化拓展 194
4.8 小石子遊戲—石子合併 194
4.8.1 問題分析 195
4.8.2 算法設計 197
4.8.3 完 美圖解 198
4.8.4 偽代碼詳解 203
4.8.5 實戰演練 205
4.8.6 算法解析及最佳化拓展 206
4.9 大賣場購物車1—0-1背包問題 209
4.9.1 問題分析 210
4.9.2 算法設計 211
4.9.3 完 美圖解 212
4.9.4 偽代碼詳解 216
4.9.5 實戰演練 217
4.9.6 算法解析及最佳化拓展 218
4.10 快速定位—**優二叉搜尋樹 220
4.10.1 問題分析 221
4.10.2 算法設計 225
4.10.3 完 美圖解 226
4.10.4 偽代碼詳解 239
4.10.5 實戰演練 241
4.10.6 算法解析及最佳化拓展 243
4.11 動態規划算法秘籍 246
第5章 回溯法 248
5.1 回溯法基礎 249
5.1.1 算法思想 249
5.1.2 算法要素 249
5.1.3 解題秘籍 251
5.2 大賣場購物車2—0-1背包問題 252
5.2.1 問題分析 252
5.2.2 算法設計 253
5.2.3 完 美圖解 255
5.2.4 偽代碼詳解 258
5.2.5 實戰演練 259
5.2.6 算法解析 262
5.2.7 算法最佳化拓展 262
5.3 部落護衛隊—**大團 265
5.3.1 問題分析 266
5.3.2 算法設計 267
5.3.3 完 美圖解 269
5.3.4 偽代碼詳解 274
5.3.5 實戰演練 275
5.3.6 算法解析及最佳化拓展 277
5.4 地圖調色板—地圖著色 278
5.4.1 問題分析 278
5.4.2 算法設計 279
5.4.3 完 美圖解 280
5.4.4 偽代碼詳解 285
5.4.5 實戰演練 286
5.4.6 算法解析及最佳化拓展 288
5.5 一山不容二虎—n皇后問題 289
5.5.1 問題分析 290
5.5.2 算法設計 291
5.5.3 完 美圖解 292
5.5.4 偽代碼詳解 300
5.5.5 實戰演練 301
5.5.6 算法解析及最佳化拓展 303
5.6 機器零件加工—**優加工順序 305
5.6.1 問題分析 305
5.6.2 算法設計 308
5.6.3 完 美圖解 308
5.6.4 偽代碼詳解 313
5.6.5 實戰演練 314
5.6.6 算法解析 316
5.6.7 算法最佳化拓展 316
5.7 奇妙之旅1—旅行商問題 319
5.7.1 問題分析 319
5.7.2 算法設計 320
5.7.3 完 美圖解 321
5.7.4 偽代碼詳解 330
5.7.5 實戰演練 331
5.7.6 算法解析及最佳化拓展 333
5.8 回溯法算法秘籍 336
第6章 分支限界法 338
6.1 橫行天下—廣度優先 339
6.1.1 算法思想 340
6.1.2 算法步驟 340
6.1.3 解題秘籍 341
6.2 大賣場購物車3—0-1背包問題 341
6.2.1 問題分析 342
6.2.2 算法設計 343
6.2.3 完 美圖解 345
6.2.4 偽代碼詳解 350
6.2.5 實戰演練 352
6.2.6 算法解析 355
6.2.7 算法最佳化拓展—優先佇列式分支限界法 356
6.3 奇妙之旅2—旅行商問題 366
6.3.1 問題分析 366
6.3.2 算法設計 367
6.3.3 完 美圖解 368
6.3.4 偽代碼詳解 371
6.3.5 實戰演練 373
6.3.6 算法解析 376
6.3.7 算法最佳化拓展 377
6.4 鋪設電纜—**優工程布線 385
6.4.1 問題分析 386
6.4.2 算法設計 386
6.4.3 完 美圖解 387
6.4.4 偽代碼詳解 399
6.4.5 實戰演練 400
6.4.6 算法解析及最佳化拓展 403
6.5 回溯法與分支限界法的異同 404
第7章 線性規劃網路流 405
7.1 線性規劃問題 406
7.1.1 線性規劃標準型 408
7.1.2 單純形算法圖解 409
7.1.3 解題秘籍 413
7.1.4 練習 413
7.2 工廠**大效益—單純形算法 414
7.2.1 問題分析 414
7.2.2 完 美圖解 415
7.2.3 偽代碼詳解 418
7.2.4 實戰演練 420
7.2.5 算法解析及最佳化拓展 423
7.3 **大網路流—**短增廣路算法 424
7.3.1 問題分析 424
7.3.2 增廣路算法 427
7.3.3 完 美圖解 431
7.3.4 偽代碼詳解 437
7.3.5 實戰演練 439
7.3.6 算法解析 441
7.3.7 算法最佳化拓展—重貼標籤算法ISAP 442
7.4 **小費用**大流—**小費用路算法 455
7.4.1 問題分析 456
7.4.2 算法設計 456
7.4.3 完 美圖解 457
7.4.4 偽代碼詳解 459
7.4.5 實戰演練 461
7.4.6 算法解析 465
7.4.7 算法最佳化拓展—消圈算法 466
7.5 精明的老闆—配對方案問題 468
7.5.1 問題分析 468
7.5.2 算法設計 469
7.5.3 完 美圖解 469
7.5.4 偽代碼詳解 470
7.5.5 實戰演練 471
7.5.6 算法解析 475
7.5.7 算法最佳化拓展—匈牙利算法 475
7.6 國際會議交流—圓桌問題 480
7.6.1 問題分析 481
7.6.2 算法設計 482
7.6.3 完 美圖解 482
7.6.4 偽代碼詳解 484
7.6.5 實戰演練 485
7.6.6 算法解析及最佳化拓展 489
7.7 要考試啦—試題庫問題 489
7.7.1 問題分析 490
7.7.2 算法設計 490
7.7.3 完 美圖解 491
7.7.4 偽代碼詳解 493
7.7.5 實戰演練 494
7.7.6 算法解析及最佳化拓展 498
7.8 太空實驗計畫—**大收益問題 499
7.8.1 問題分析 499
7.8.2 算法設計 500
7.8.3 完 美圖解 502
7.8.4 偽代碼詳解 505
7.8.5 實戰演練 506
7.8.6 算法解析及最佳化拓展 510
7.9 央視娛樂節目購物街—方格取數問題 511
7.9.1 問題分析 511
7.9.2 算法設計 512
7.9.3 完 美圖解 513
7.9.4 偽代碼詳解 514
7.9.5 實戰演練 516
7.9.6 算法解析及最佳化拓展 520
7.10 走著走著,就走到了西藏—旅遊路線問題 521
7.10.1 問題分析 521
7.10.2 算法設計 523
7.10.3 完 美圖解 523
7.10.4 偽代碼詳解 525
7.10.5 實戰演練 528
7.10.6 算法解析及最佳化拓展 532
7.11 網路流問題解題秘籍 533
附錄A 特徵方程和通項公式 534
附錄B sort函式 537
附錄C 優先佇列 541
附錄D 鄰接表 549
附錄E 並查集 555
附錄F 四邊不等式 561
附錄G 排列樹 565
附錄H 貝爾曼規則 579
附錄I 增廣路中稱為關鍵邊的次數 582
附錄J **大流**小割定理 585
2.6.1 問題分析 60
2.6.2 算法設計 62
2.6.3 完 美圖解 63
2.6.4 偽代碼詳解 65
2.6.5 實戰演練 74
2.6.6 算法解析及最佳化拓展 77
2.7 溝通無限校園網—**小生成樹 77
2.7.1 問題分析 78
2.7.2 算法設計 79
2.7.3 完 美圖解 80
2.7.4 偽代碼詳解 87
2.7.5 實戰演練 88
2.7.6 算法解析 90
2.7.7 算法最佳化拓展 90
第3章 分治法 99
3.1 山高皇帝遠 100
3.1.1 治眾如治寡—分而治之 100
3.1.2 天時地利人和—分治算法要素 100
3.1.3 分治算法秘籍 101
3.2 猜數遊戲—二分搜尋技術 101
3.2.1 問題分析 101
3.2.2 算法設計 102
3.2.3 完 美圖解 102
3.2.4 偽代碼詳解 103
3.2.5 實戰演練 104
3.2.6 算法解析與拓展 105
3.3 合久必分,分久必合—合併排序 107
3.3.1 問題分析 108
3.3.2 算法設計 108
3.3.3 完 美圖解 108
3.3.4 偽代碼詳解 108
3.3.5 實戰演練 111
3.3.6 算法解析與拓展 112
3.4 兵貴神速—快速排序 113
3.4.1 問題分析 114
3.4.2 算法設計 115
3.4.3 完 美圖解 116
3.4.4 偽代碼詳解 117
3.4.5 實戰演練 118
3.4.6 算法解析與拓展 120
3.5 效率到上—大整數乘法 124
3.5.1 問題分析 124
3.5.2 算法設計 125
3.5.3 完 美圖解 126
3.5.4 偽代碼詳解 128
3.5.5 實戰演練 132
3.5.6 算法解析與拓展 135
3.6 分治算法複雜度求解秘籍 137
第4章 動態規劃 141
4.1 神奇的兔子序列 142
4.2 動態規劃基礎 143
4.2.1 算法思想 143
4.2.2 算法要素 143
4.2.3 解題秘籍 143
4.3 孩子有多像爸爸—**長的公共子序列 145
4.3.1 問題分析 145
4.3.2 算法設計 147
4.3.3 完 美圖解 148
4.3.4 偽代碼詳解 152
4.3.5 實戰演練 153
4.3.6 算法解析及最佳化拓展 155
4.4 DNA基因鑑定—編輯距離 156
4.4.1 問題分析 156
4.4.2 算法設計 158
4.4.3 完 美圖解 159
4.4.4 偽代碼詳解 161
4.4.5 實戰演練 162
4.4.6 算法解析及最佳化拓展 163
4.5 長江一日游—遊艇租賃 164
4.5.1 問題分析 164
4.5.2 算法設計 166
4.5.3 完 美圖解 166
4.5.4 偽代碼詳解 170
4.5.5 實戰演練 171
4.5.6 算法解析及最佳化拓展 172
4.6 快速計算—矩陣連乘 172
4.6.1 問題分析 173
4.6.2 算法設計 176
4.6.3 完 美圖解 176
4.6.4 偽代碼詳解 180
4.6.5 實戰演練 181
4.6.6 算法解析及最佳化拓展 182
4.7 切呀切披薩—**優三角剖分 183
4.7.1 問題分析 183
4.7.2 算法設計 186
4.7.3 完 美圖解 187
4.7.4 偽代碼詳解 191
4.7.5 實戰演練 192
4.7.6 算法解析及最佳化拓展 194
4.8 小石子遊戲—石子合併 194
4.8.1 問題分析 195
4.8.2 算法設計 197
4.8.3 完 美圖解 198
4.8.4 偽代碼詳解 203
4.8.5 實戰演練 205
4.8.6 算法解析及最佳化拓展 206
4.9 大賣場購物車1—0-1背包問題 209
4.9.1 問題分析 210
4.9.2 算法設計 211
4.9.3 完 美圖解 212
4.9.4 偽代碼詳解 216
4.9.5 實戰演練 217
4.9.6 算法解析及最佳化拓展 218
4.10 快速定位—**優二叉搜尋樹 220
4.10.1 問題分析 221
4.10.2 算法設計 225
4.10.3 完 美圖解 226
4.10.4 偽代碼詳解 239
4.10.5 實戰演練 241
4.10.6 算法解析及最佳化拓展 243
4.11 動態規划算法秘籍 246
第5章 回溯法 248
5.1 回溯法基礎 249
5.1.1 算法思想 249
5.1.2 算法要素 249
5.1.3 解題秘籍 251
5.2 大賣場購物車2—0-1背包問題 252
5.2.1 問題分析 252
5.2.2 算法設計 253
5.2.3 完 美圖解 255
5.2.4 偽代碼詳解 258
5.2.5 實戰演練 259
5.2.6 算法解析 262
5.2.7 算法最佳化拓展 262
5.3 部落護衛隊—**大團 265
5.3.1 問題分析 266
5.3.2 算法設計 267
5.3.3 完 美圖解 269
5.3.4 偽代碼詳解 274
5.3.5 實戰演練 275
5.3.6 算法解析及最佳化拓展 277
5.4 地圖調色板—地圖著色 278
5.4.1 問題分析 278
5.4.2 算法設計 279
5.4.3 完 美圖解 280
5.4.4 偽代碼詳解 285
5.4.5 實戰演練 286
5.4.6 算法解析及最佳化拓展 288
5.5 一山不容二虎—n皇后問題 289
5.5.1 問題分析 290
5.5.2 算法設計 291
5.5.3 完 美圖解 292
5.5.4 偽代碼詳解 300
5.5.5 實戰演練 301
5.5.6 算法解析及最佳化拓展 303
5.6 機器零件加工—**優加工順序 305
5.6.1 問題分析 305
5.6.2 算法設計 308
5.6.3 完 美圖解 308
5.6.4 偽代碼詳解 313
5.6.5 實戰演練 314
5.6.6 算法解析 316
5.6.7 算法最佳化拓展 316
5.7 奇妙之旅1—旅行商問題 319
5.7.1 問題分析 319
5.7.2 算法設計 320
5.7.3 完 美圖解 321
5.7.4 偽代碼詳解 330
5.7.5 實戰演練 331
5.7.6 算法解析及最佳化拓展 333
5.8 回溯法算法秘籍 336
第6章 分支限界法 338
6.1 橫行天下—廣度優先 339
6.1.1 算法思想 340
6.1.2 算法步驟 340
6.1.3 解題秘籍 341
6.2 大賣場購物車3—0-1背包問題 341
6.2.1 問題分析 342
6.2.2 算法設計 343
6.2.3 完 美圖解 345
6.2.4 偽代碼詳解 350
6.2.5 實戰演練 352
6.2.6 算法解析 355
6.2.7 算法最佳化拓展—優先佇列式分支限界法 356
6.3 奇妙之旅2—旅行商問題 366
6.3.1 問題分析 366
6.3.2 算法設計 367
6.3.3 完 美圖解 368
6.3.4 偽代碼詳解 371
6.3.5 實戰演練 373
6.3.6 算法解析 376
6.3.7 算法最佳化拓展 377
6.4 鋪設電纜—**優工程布線 385
6.4.1 問題分析 386
6.4.2 算法設計 386
6.4.3 完 美圖解 387
6.4.4 偽代碼詳解 399
6.4.5 實戰演練 400
6.4.6 算法解析及最佳化拓展 403
6.5 回溯法與分支限界法的異同 404
第7章 線性規劃網路流 405
7.1 線性規劃問題 406
7.1.1 線性規劃標準型 408
7.1.2 單純形算法圖解 409
7.1.3 解題秘籍 413
7.1.4 練習 413
7.2 工廠**大效益—單純形算法 414
7.2.1 問題分析 414
7.2.2 完 美圖解 415
7.2.3 偽代碼詳解 418
7.2.4 實戰演練 420
7.2.5 算法解析及最佳化拓展 423
7.3 **大網路流—**短增廣路算法 424
7.3.1 問題分析 424
7.3.2 增廣路算法 427
7.3.3 完 美圖解 431
7.3.4 偽代碼詳解 437
7.3.5 實戰演練 439
7.3.6 算法解析 441
7.3.7 算法最佳化拓展—重貼標籤算法ISAP 442
7.4 **小費用**大流—**小費用路算法 455
7.4.1 問題分析 456
7.4.2 算法設計 456
7.4.3 完 美圖解 457
7.4.4 偽代碼詳解 459
7.4.5 實戰演練 461
7.4.6 算法解析 465
7.4.7 算法最佳化拓展—消圈算法 466
7.5 精明的老闆—配對方案問題 468
7.5.1 問題分析 468
7.5.2 算法設計 469
7.5.3 完 美圖解 469
7.5.4 偽代碼詳解 470
7.5.5 實戰演練 471
7.5.6 算法解析 475
7.5.7 算法最佳化拓展—匈牙利算法 475
7.6 國際會議交流—圓桌問題 480
7.6.1 問題分析 481
7.6.2 算法設計 482
7.6.3 完 美圖解 482
7.6.4 偽代碼詳解 484
7.6.5 實戰演練 485
7.6.6 算法解析及最佳化拓展 489
7.7 要考試啦—試題庫問題 489
7.7.1 問題分析 490
7.7.2 算法設計 490
7.7.3 完 美圖解 491
7.7.4 偽代碼詳解 493
7.7.5 實戰演練 494
7.7.6 算法解析及最佳化拓展 498
7.8 太空實驗計畫—**大收益問題 499
7.8.1 問題分析 499
7.8.2 算法設計 500
7.8.3 完 美圖解 502
7.8.4 偽代碼詳解 505
7.8.5 實戰演練 506
7.8.6 算法解析及最佳化拓展 510
7.9 央視娛樂節目購物街—方格取數問題 511
7.9.1 問題分析 511
7.9.2 算法設計 512
7.9.3 完 美圖解 513
7.9.4 偽代碼詳解 514
7.9.5 實戰演練 516
7.9.6 算法解析及最佳化拓展 520
7.10 走著走著,就走到了西藏—旅遊路線問題 521
7.10.1 問題分析 521
7.10.2 算法設計 523
7.10.3 完 美圖解 523
7.10.4 偽代碼詳解 525
7.10.5 實戰演練 528
7.10.6 算法解析及最佳化拓展 532
7.11 網路流問題解題秘籍 533
附錄A 特徵方程和通項公式 534
附錄B sort函式 537
附錄C 優先佇列 541
附錄D 鄰接表 549
附錄E 並查集 555
附錄F 四邊不等式 561
附錄G 排列樹 565
附錄H 貝爾曼規則 579
附錄I 增廣路中稱為關鍵邊的次數 582
附錄J **大流**小割定理 585

相關詞條

熱門詞條

聯絡我們