《计算机算法的设计与分析》PDF下载

  • 购买积分:14 如何计算积分?
  • 作  者:(美)阿霍(Aho,A.V.),(美)霍普克劳夫特(Hopcroft,J.E.),(美)乌尔曼(Ullman,J.D.)著;黄林鹏,王德俊,张仕译
  • 出 版 社:北京:机械工业出版社
  • 出版年份:2007
  • ISBN:7111215435
  • 页数:417 页
图书介绍:本书将计算机算法领域的一些基本成果汇集在一起,结合简化ALGOL语言(及C/C++)向读者介绍算法设计的基本原则和根本原理,内容主要包括:计算机模型、算法性能的计算、算法使用的数据结构和程序设计技术等,涉及队列、树和图等,递归、分治方法和动态规划,以及矩阵乘法算法、快速傅里叶法和复杂度下界等计算难度的概念和向量空间的讨论。本书可作为计算机算法的设计与分析课程的教材。既可用作本科生,也可作为研究生的教材。

第1章 计算模型 1

1.1 算法和复杂度 1

1.2 随机存取计算机 3

1.3 RAM程序的计算复杂度 7

1.4 存储程序模型 8

1.5 RAM的抽象 11

1.6 一种基本的计算模型:图灵机 15

1.7 图灵机模型和RAM模型的关系 19

1.8 简化ALGOL——一种高级语言 20

第2章 有效算法的设计 26

2.1 数据结构:表、队列和堆栈 26

2.2 集合的表示 28

2.3 图 29

2.4 树 30

2.5 递归 33

2.6 分治法 35

2.7 平衡 38

2.8 动态规划 39

2.9 后记 41

第3章 排序和顺序统计 46

3.1 排序问题 46

3.2 基数排序 47

3.3 比较排序 52

3.4 堆排序——O(n log n)的比较排序算法 52

3.5 快速排序——期望时间为O(n log n)的排序算法 55

3.6 顺序统计学 58

3.7 顺序统计的期望时间 60

第4章 集合操作问题的数据结构 65

4.1 集合的基本操作 65

4.2 散列法 67

4.3 二分搜索 68

4.4 二叉查找树 69

4.5 最优二叉查找树 71

4.6 简单的不相交集合合并算法 74

4.7 UNION-FIND问题的树结构 77

4.8 UNION-FIND算法的应用和扩展 83

4.9 平衡树方案 87

4.10 字典和优先队列 88

4.11 可合并堆 91

4.12 可连接队列 93

4.13 划分 94

4.14 本章小结 98

第5章 图算法 103

5.1 最小代价生成树 103

5.2 深度优先搜索 105

5.3 双连通性 107

5.4 有向图的深度优先搜索 112

5.5 强连通性 113

5.6 路径查找问题 117

5.7 传递闭包算法 119

5.8 最短路径算法 120

5.9 路径问题与矩阵乘法 121

5.10 单源问题 124

5.11 有向无环图的支配集:概念整合 126

第6章 矩阵乘法及相关操作 135

6.1 基础知识 135

6.2 Strassen矩阵乘法算法 137

6.3 矩阵求逆 139

6.4 矩阵的LUP分解 140

6.5 LUP分解的应用 145

6.6 布尔矩阵的乘法 146

第7章 快速傅里叶变换及其应用 153

7.1 离散傅里叶变换及其逆变换 153

7.2 快速傅里叶变换算法 156

7.3 使用位操作的FFT 161

7.4 多项式乘积 164

7.5 Sch?nhage-Strassen整数相乘算法 165

第8章 整数与多项式计算 170

8.1 整数和多项式的相似性 170

8.2 整数的乘法和除法 171

8.3 多项式的乘法和除法 175

8.4 模算术 177

8.5 多项式模算术和多项式计值 179

8.6 中国余数 180

8.7 中国余数和多项式的插值 183

8.8 最大公因子和欧几里得算法 184

8.9 多项式GCD的渐近快速算法 186

8.10 整数的GCD 190

8.11 再论中国余数 191

8.12 稀疏多项式 192

第9章 模式匹配算法 196

9.1 有穷自动机和正则表达式 196

9.2 正则表达式的模式识别 201

9.3 子串识别 203

9.4 双向确定型下推自动机 207

9.5 位置树和子串标识符 215

第10章 NP完全问题 226

10.1 非确定型图灵机问题 226

10.2 P类和NP类 231

10.3 语言和问题 233

10.4 可满足性问题的NP完全性 234

10.5 其他NP完全问题 239

10.6 多项式空间界问题 245

第11章 一些可证难的问题 252

11.1 复杂度层次 252

11.2 确定型图灵机的空间层次 252

11.3 一个需要指数时间和空间的问题 254

11.4 一个非基本的问题 260

第12章 算术运算的下界 265

12.1 域 265

12.2 再论直线状代码 266

12.3 问题的矩阵表述 267

12.4 面向行的矩阵乘法的下界 267

12.5 面向列的矩阵乘法的下界 269

12.6 面向行和列的矩阵乘法的下界 272

12.7 预处理 273

附录 算法的C/C++代码 280

参考文献 407