算法設計與分析基礎(第3版 詳解版) Introduction to the Design and Analysis of Algorithms, 3/e

[美] 阿納尼 · 樂維汀 (Anany Levitin)著 雲鶴 譯

  • 出版商: 清華大學
  • 出版日期: 2024-06-01
  • 售價: $834
  • 貴賓價: 9.5$792
  • 語言: 簡體中文
  • ISBN: 7302625441
  • ISBN-13: 9787302625445
  • 立即出貨 (庫存 < 3)

  • 算法設計與分析基礎(第3版 詳解版)-preview-1
  • 算法設計與分析基礎(第3版 詳解版)-preview-2
  • 算法設計與分析基礎(第3版 詳解版)-preview-3
算法設計與分析基礎(第3版 詳解版)-preview-1

相關主題

商品描述

"作者基於豐富的教學經驗,開發了一套全新的算法分類方法。該分類法站在通用問題求解策略的高度,對現有大多數算法進行了較為準確的分類,旨在引領讀者沿著清晰、一致、連貫的思路來探索算法的設計與分析。 《算法設計與分析基礎(第3版 詳解版)》適合用作算法設計與分析的基礎教材,也適合任何有興趣探究算法奧秘的讀者自學使用。"

目錄大綱

詳細目錄

第1章 導言 1

1.1 什麽是算法 3

習題1.1 8

1.2 算法問題求解基礎 9

1.2.1  理解問題 10

1.2.2  瞭解計算設備的性能 11

1.2.3  在精確和近似解法之間做出選擇 12

1.2.4  算法的設計技術 12

1.2.5  設計算法和數據結構 12

1.2.6  算法描述方法 13

1.2.7  算法的正確性證明 14

1.2.8  分析算法 14

1.2.9  為算法寫代碼 16

習題1.2 17

1.3 重要的問題類型 19

1.3.1  排序 19

1.3.2  查找 21

1.3.3  字符串處理 21

1.3.4  圖問題 22

1.3.5  組合問題 22

1.3.6  幾何問題 23

1.3.7  數值問題 23

習題1.3 24

1.4 基本數據結構 26

1.4.1  線性數據結構 26

1.4.2  圖 29

1.4.3  樹 32

1.4.4  集合與字典 36

習題1.4 38

本章要點小結 39

第2章 算法效率分析基礎 41

2.1 分析框架 42

2.1.1  度量輸入規模 43

2.1.2  運行時間的度量單位 44

2.1.3  增長量級 45

2.1.4  算法的最差、最優和平均效率 47

2.1.5  分析框架概要 50

習題2.1 50

2.2 漸近符號和基本效率類型 52

2.2.1  非正式的介紹 53

2.2.2  符號O 53

2.2.3  符號Ω 54

2.2.4  符號Θ 55

2.2.5  漸近符號的有用特性 56

2.2.6  利用極限比較增長量級 57

2.2.7  基本效率類別 58

習題2.2 60

2.3  非遞歸算法的數學分析 61

習題2.3 67

2.4  遞歸算法的數學分析 70

習題2.4 77

2.5 例題:計算第n個斐波那契數 80

習題2.5 84

2.6 算法的經驗分析 85

習題2.6 91

2.7 算法可視化 92

本章要點小結 95

第3章 蠻力法 97

3.1 選擇排序和冒泡排序 98

3.1.1  選擇排序 98

3.1.2  冒泡排序 100

習題3.1 102

3.2 順序查找和蠻力字符串匹配 103

3.2.1  順序查找 104

3.2.2  蠻力字符串匹配 104

習題3.2 106

3.3 最近對和凸包問題的蠻力算法 108

3.3.1  最近對問題 108

3.3.2  凸包問題 110

習題3.3 113

3.4 窮舉查找 115

3.4.1  旅行商問題 116

3.4.2  背包問題 117

3.4.3  分配問題 119

習題3.4 120

3.5 深度優先查找和廣度優先查找 122

3.5.1  深度優先查找 122

3.5.2  廣度優先查找 125

習題3.5 128

本章要點小結 130

第4章 減治法 132

4.1 插入排序 135

習題4.1 137

4.2 拓撲排序 140

習題4.2 143

4.3  生成組合對象的算法 145

4.3.1  生成排列 145

4.3.2  生成子集 148

習題4.3 150

4.4  減常因子算法 151

4.4.1  折半查找 152

4.4.2  假幣問題 154

4.4.3  俄式乘法 155

4.4.4  約瑟夫斯問題 156

習題4.4 158

4.5 減可變規模算法 160

4.5.1  計算中值和選擇問題 160

4.5.2  插值查找 164

4.5.3  二叉查找樹的查找和插入 165

4.5.4  尼姆游戲 166

習題4.5 168

本章要點小結 170

第5章 分治法 171

5.1 合並排序 173

習題5.1 176

5.2 快速排序 178

習題5.2 183

5.3 二叉樹遍歷及其相關特性 185

習題5.3 188

5.4 大整數乘法和Strassen矩陣乘法 189

5.4.1  大整數乘法 190

5.4.2  Strassen矩陣乘法 192

習題5.4 194

5.5 用分治法解最近對問題和凸包問題 195

5.5.1  最近對問題 195

5.5.2  凸包問題 198

習題5.5 200

本章要點小結 201

第6章 變治法 203

6.1 預排序 204

習題6.1 207

6.2 高斯消去法 210

6.2.1  LU分解 215

6.2.2  計算矩陣的逆 216

6.2.3  計算矩陣的行列式 217

習題6.2 218

6.3 平衡查找樹 220

6.3.1  平衡二叉查找樹 221

6.3.2  2-3樹 225

習題6.3 228

6.4 堆和堆排序 229

6.4.1  堆的概念 229

6.4.2  堆排序 234

習題6.4 235

6.5 霍納法則和二進制冪 236

6.5.1  霍納法則 237

6.5.2  二進制冪 239

習題6.5 242

6.6 問題化簡 243

6.6.1  求最小公倍數 244

6.6.2  計算圖中的路徑數量 245

6.6.3  最優化問題的化簡 246

6.6.4  線性規劃 247

6.6.5  簡化為圖問題 250

習題6.6 251

本章要點小結 253

第7章 時空權衡 255

7.1 計數排序 256

習題7.1 260

7.2 字符串匹配中的輸入增強技術 261

7.2.1 Horspool算法 262

7.2.2 Boyer-Moore算法 265

習題7.2 270

7.3 散列法 271

7.3.1 開散列(分離鏈) 273

7.3.2 閉散列(開式尋址) 275

習題7.3 278

7.4 B樹 279

習題7.4 283

本章要點小結 284

第8章 動態規劃 285

8.1 三個基本例子 287

習題8.1 292

8.2 背包問題和記憶功能 295

8.2.1  背包問題 295

8.2.2 記憶功能 297

習題8.2 298

8.3 最優二叉查找樹 299

習題8.3 304

8.4 Warshall算法和Floyd算法 305

8.4.1 Warshall算法 306

8.4.2 計算完全最短路徑的Floyd算法 309

習題8.4 313

本章要點小結 314

第9章 貪婪技術 315

9.1 Prim算法 318

習題9.1 323

9.2 Kruskal算法 325

習題9.2 332

9.3 Dijkstra算法 334

習題9.3 338

9.4 哈夫曼樹及編碼 339

習題9.4 343

本章要點小結 344

第10章 迭代改進 346

10.1 單純形法 347

10.1.1  線性規劃的幾何解釋 348

10.1.2  單純形法概述 352

10.1.3  單純形法其他要點 358

習題10.1 360

10.2 最大流量問題 362

習題10.2 372

10.3 二分圖的最大匹配 373

習題10.3 380

10.4 穩定婚姻問題 382

習題10.4 386

本章要點小結 387

第11章 算法能力的極限 388

11.1 如何求下界 389

11.1.1 平凡下界 390

11.1.2 信息論下界 391

11.1.3 敵手下界 391

11.1.4 問題化簡 393

習題11.1 394

11.2 決策樹 396

11.2.1 排序的決策樹 397

11.2.2 查找有序數組的決策樹 399

習題11.2 401

11.3 P、NP和NP完全問題 403

11.3.1 P和NP問題 403

11.3.2 NP完全問題 407

習題11.3 411

11.4 數值算法的挑戰 414

習題11.4 421

本章要點小結 422

第12章 應對算法能力的極限 425

12.1 回溯法 426

12.1.1 n皇後問題 427

12.1.2 哈密頓迴路問題 428

12.1.3 子集和問題 429

12.1.4 概括性說明 430

習題12.1 432

12.2 分支定界法 434

12.2.1 分配問題 435

12.2.2 背包問題 437

12.2.3 旅行商問題 440

習題12.2 442

12.3 NP難題的近似算法 443

12.3.1 旅行商問題的近似算法 445

12.3.2 背包問題的近似算法 454

習題12.3 459

12.4 解非線性方程的算法 460

12.4.1 對分法 462

12.4.2 試位法 465

12.4.3 牛頓法 466

習題12.4 468

本章要點小結 469

後記 472

附錄A 算法分析的實用公式 477

附錄B 遞推關系簡明指南 480

參考文獻 494