本书是一部算法设计与分析领域的经典著作,着重介绍了计算机算法设计领域的基本原则和根本原理。书中深入分析了一些计算机模型上的算法,介绍了一些和设计有效算法有关的数据结构和编程技术,为读者提供了有关递归方法、分治方法和动态规划方面的详细实例和实际应用,并致力于更有效算法的设计和开发。同时,对NP完全等问题能否有效求解进行了分析,并探索了应用启发式算法解决问题的途径。另外,本书还提供了大量富有指导意义的习题。
出版者的话
译者序
前言
第1章 计算模型
1.1 算法和复杂度
1.2 随机存取计算机
1.3 RAM程序的计算复杂度
1.4 存储程序模型
1.5 RAM的抽象
1.6 一种基本的计算模型:图灵机
1.7 图灵机模型和RAM模型的关系
1.8 简化ALGOL——一种高级语言
第2章 有效算法的设计
2.1 数据结构:表、队列和堆栈
2.2 集合的表示
2.3 图
2.4 树
2.5 递归
2.6 分治法
2.7 平衡
2.8 动态规划
2.9 后记
第3章 排序和顺序统计
3.1 排序问题
3.2 基数排序
3.3 比较排序
3.4 堆排序——O(n log n)的比较排序算法
3.5 快速排序——期望时间为O(n log n)的排序算法
3.6 顺序统计学
3.7 顺序统计的期望时间
第4章 集合操作问题的数据结构
4.1 集合的基本操作
4.2 散列法
4.3 二分搜索
4.4 二叉查找树
4.5 最优二叉查找树
4.6 简单的不相交集合合并算法
4.7 UNION-FIND问题的树结构
4.8 UNION-FIND算法的应用和扩展
4.9 平衡树方案
4.10 字典和优先队列
4.11 可合并堆
4.12 可连接队列
4.13 划分
4.14 本章小结
第5章 图算法
5.1 最小代价生成树
5.2 深度优先搜索
5.3 双连通性
5.4 有向图的深度优先搜索
5.5 强连通性
5.6 路径查找问题
5.7 传递闭包算法
5.8 最短路径算法
5.9 路径问题与矩阵乘法
5.10 单源问题
5.11 有向无环图的支配集:概念整合
第6章 矩阵乘法及相关操作
6.1 基础知识
6.2 Strassen矩阵乘法算法
6.3 矩阵求逆
6.4 矩阵的LUP分解
6.5 LUP分解的应用
6.6 布尔矩阵的乘法
第7章 快速傅里叶变换及其应用
7.1 离散傅里叶变换及其逆变换
7.2 快速傅里叶变换算法
7.3 使用位操作的FFT
7.4 多项式乘积
7.5 Schonhage-Strassen整数相乘算法
第8章 整数与多项式计算
8.1 整数和多项式的相似性
8.2 整数的乘法和除法
8.3 多项式的乘法和除法
8.4 模算术
8.5 多项式模算术和多项式计值
8.6 中国余数
8.7 中国余数和多项式的插值
8.8 最大公因子和欧几里得算法
8.9 多项式GCD的渐近快速算法
8.10 整数的GCD
8.11 再论中国余数
8.12 稀疏多项式
第9章 模式匹配算法
9.1 有穷自动机和正则表达式
9.2 正则表达式的模式识别
9.3 子串识别
9.4 双向确定型下推自动机
9.5 位置树和子串标识符
第10章 NP完全问题
10.1 非确定型图灵机问题
10.2 P类和NP类
10.3 语言和问题
10.4 可满足性问题的NP完全性
lO.5 其他NP完全问题
10.6 多项式空间界问题
第11章 一些可证难的问题
11.1 复杂度层次
11.2 确定型图灵机的空间层次
11.3 一个需要指数时间和空问的问题
11.4 一个非基本的问题
第12章 算术运算的下界
12.1 域
12.2 再论直线状代码
12.3 问题的矩阵表述
12.4 面向行的矩阵乘法的下界
12.5 面向列的矩阵乘法的下界
12.6 面向行和列的矩阵乘法的下界
12.7 预处理
附录 算法的C/C++代码
参考文献
猜您喜欢
评论