当前位置:首页 > 工业技术
算法设计与分析基础  第2版
算法设计与分析基础  第2版

算法设计与分析基础 第2版PDF电子书下载

工业技术

  • 电子书积分:14 积分如何计算积分?
  • 作 者:(美)ANANY LEVITIN著;潘彦译
  • 出 版 社:北京:清华大学出版社
  • 出版年份:2007
  • ISBN:7302143814
  • 页数:409 页
图书介绍:
《算法设计与分析基础 第2版》目录

第1章 绪论 1

1.1 什么是算法 2

习题1.1 6

1.2 算法问题求解基础 7

1.2.1 理解问题 8

1.2.2 了解计算设备的性能 8

1.2.3 在精确解法和近似解法之间做出选择 9

1.2.4 确定适当的数据结构 9

1.2.5 算法的设计技术 9

1.2.6 算法的描述 10

1.2.7 算法的正确性证明 10

1.2.8 算法的分析 11

1.2.9 为算法写代码 12

习题1.2 13

1.3 重要的问题类型 14

1.3.1 排序 15

1.3.2 查找 16

1.3.3 字符串处理 16

1.3.4 图问题 16

1.3.5 组合问题 17

1.3.6 几何问题 17

1.3.7 数值问题 18

习题1.3 18

1.4 基本数据结构 20

1.4.1 线性数据结构 20

1.4.2 图 22

1.4.3 树 25

1.4.4 集合与字典 28

习题1.4 29

小结 30

第2章 算法效率分析基础 32

2.1 分析框架 33

2.1.1 输入规模的度量 33

2.1.2 运行时间的度量单位 34

2.1.3  增长次数 35

2.1.4 算法的最优、最差和平均效率 36

2.1.5 分析框架概要 38

习题2.1 39

2.2 渐进符号和基本效率类型 40

2.2.1 非正式的介绍 40

2.2.2 符号O 41

2.2.3 符号Ω 41

2.2.4 符号? 42

2.2.5 渐进符号的有用特性 43

2.2.6 利用极限比较增长次数 44

2.2.7 基本的效率类型 45

习题2.2 46

2.3 非递归算法的数学分析 47

习题2.3 51

2.4 递归算法的数学分析 53

习题2.4 58

2.5 例题:斐波那契数列 60

2.5.1 第n个斐波那契数的精确公式 61

2.5.2 计算斐波那契数的算法 62

习题2.5 64

2.6 算法的经验分析 65

习题2.6 69

2.7 算法可视法 70

小结 73

第3章 蛮力法 75

3.1.1 选择排序 76

3.1 选择排序和冒泡排序 76

3.1.2 冒泡排序 77

习题3.1 78

3.2 顺序查找和蛮力字符串匹配 79

3.2.1 顺序查找 79

3.2.2 蛮力字符串匹配 80

习题3.2 81

3.3 最近对和凸包问题的蛮力算法 82

3.3.1 最近对问题 83

3.3.2 凸包问题 83

习题6.6 86

习题3.3 86

3.4 穷举查找 87

3.4.1 旅行商问题 87

3.4.2 背包问题 89

3.4.3 分配问题 90

习题3.4 91

小结 92

第4章 分治法 94

4.1 合并排序 95

习题4.1 97

4.2 快速排序 99

习题4.2 102

4.3 折半查找 103

习题4.3 105

4.4 二叉树遍历及其相关特性 106

习题4.4 108

4.5 大整数乘法和Strassen矩阵乘法 109

4.5.1 大整数乘法 110

4.5.2 Strassen矩阵乘法 111

4.6.1 最近对问题 113

4.6 用分治法解最近对问题和凸包问题 113

习题4.5 113

4.6.2 凸包问题 115

习题4.6 117

小结 118

第5章 减治法 119

5.1 插入排序 121

习题5.1 123

5.2 深度优先查找和广度优先查找 124

5.2.1 深度优先查找 125

5.2.2 广度优先查找 127

习题5.2 129

5.3 拓扑排序 130

习题5.3 133

5.4 生成组合对象的算法 134

5.4.1 生成排列 135

5.4.2 生成子集 136

习题5.4 137

5.5 减常因子算法 138

5.5.2 俄式乘法 139

5.5.1 假币问题 139

5.5.3 约瑟夫斯问题 140

习题5.5 141

5.6 减可变规模算法 142

5.6.1 计算中值和选择问题 142

5.6.2 插值查找 144

5.6.3 二叉查找树的查找和插入 145

5.6.4 拈游戏 146

习题5.6 147

小结 148

第6章 变治法 150

6.1 预排序 151

习题6.1 153

6.2 高斯消去法 154

6.2.1 LU分解及其他应用 158

6.2.2 计算矩阵的逆 159

6.2.3 计算矩阵的行列式 160

习题6.2 161

6.3 平衡查找树 162

6.3.1 AVL树 163

6.3.2 2-3树 167

习题6.3 168

6.4 堆和堆排序 169

6.4.1 堆的概念 170

6.4.2 堆排序 174

习题6.4 175

6.5.1 霍纳法则 176

6.5 霍纳法则和二进制幂 176

6.5.2 二进制幂 177

习题6.5 179

6.6 问题化简 181

6.6.1 求最小公倍数 181

6.6.2 计算图中的路径数量 182

6.6.3 优化问题的化简 182

6.6.4 线性规划 183

6.6.5 简化为图问题 185

小结 188

第7章 时空权衡 190

7.1 计数排序 191

习题7.1 193

7.2 字符串匹配中的输入增强技术 194

7.2.1 Horspool算法 195

7.2.2 Boyer-Moore算法 197

习题7.2 201

7.3 散列法 202

7.3.1 开散列(分离链) 203

7.3.2 闭散列(开式寻址) 205

习题7.3 207

7.4 B树 208

习题7.4 211

小结 211

第8章 动态规划 213

8.1 计算二项式系数 214

习题8.1 215

8.2 Warshall算法和Floyd算法 216

8.2.1 Warshall算法 217

8.2.2 计算完全最短路径的Floyd算法 220

习题8.2 222

8.3 最优二叉查找树 223

习题8.3 227

8.4 背包问题和记忆功能 228

8.4.1 背包问题 228

8.4.2 记忆功能 230

习题8.4 231

小结 232

第9章 贪婪技术 233

9.1 Prim算法 234

习题9.1 238

9.2 Kruskal算法 239

习题9.2 245

9.3 Dijkstra算法 246

习题9.3 249

9.4 哈夫曼树 250

习题9.4 253

小结 254

第10章 迭代改进 255

10.1 单纯形法 256

10.1.1 线性规划的几何解释 256

10.1.2 单纯形法概述 259

10.1.3 单纯形法其他要点 264

习题10.1 265

10.2 最大流量问题 267

习题10.2 274

10.3 二分图的最大匹配 276

习题10.3 281

10.4 稳定婚姻问题 282

习题10.4 285

小结 286

第11章 算法能力的极限 287

11.1 如何求下界 288

11.1.1 平凡下界 288

11.1.2 信息论下界 289

11.1.3 敌手下界 289

11.1.4 问题化简 290

习题11.1 291

11.2 决策树 292

11.2.1 排序算法的决策树 293

11.2.2 查找有序数组的决策树 295

习题11.2 296

11.3 P、NP和NP完全问题 298

11.3.1 P和NP问题 298

11.3.2 NP完全问题 301

习题11.3 304

11.4 数值算法的挑战 306

习题11.4 311

小结 312

第12章 超越算法能力的极限 314

12.1 回溯法 314

12.1.1 n皇后问题 315

12.1.2 哈密顿回路问题 316

12.1.3 子集和问题 317

12.1.4 一般性说明 318

习题12.1 319

12.2 分支界限法 321

12.2.1 分配问题 321

12.2.2 背包问题 324

12.2.3 旅行商问题 325

习题12.2 327

12.3 NP困难问题的近似算法 328

12.3.1 旅行商问题的近似算法 329

12.3.2 背包问题的近似算法 338

习题12.3 341

12.4 解非线性方程的算法 342

12.4.1 平分法 343

12.4.2 试位法 346

12.4.3 牛顿法 347

习题12.4 349

小结 350

跋 351

附录A 算法分析的实用公式 354

附录B 递推关系简明指南 357

习题提示 366

参考文献 400

返回顶部