編輯推薦
本書從算法之美娓娓道來,沒有高深的原理,也沒有枯燥的公式,通過趣味故事引齣算法問題,包含50多個實例及完美圖解,結閤學生提問,分析算法本質,並給齣代碼實現的詳細過程和運行結果。
本書的特色和價值:
(1)實例豐富,通俗易懂
(2)完美圖解,簡單有趣
(3)深入淺齣,透析本質
(4)實戰演練,循序漸進
(5)網絡資源,技術支持
內容簡介
本書內容按照算法策略分為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
趣學算法 下載 mobi epub pdf txt 電子書