算法和算法分析,算法设计策略及求解困难问题。第1部分介绍问题求解方法、算法复杂度和分析、递归算法和递推关系;第2部分讨论常用的算法设计策略:基本搜索和遍历方法、分治法、贪心法、动态规划法、回溯法和分枝限界法;第3部分介绍NP完全问题、随机算法、近似算法和密码算法。书中还介绍了两种新的数据结构:跳表和伸展树,以及它们特定的算法分析方法,并对现代密码学做了简要论述。
本书结构清晰、内容翔实、逻辑严谨、深入浅出。书中算法有完整的C++程序,程序构思精巧,且有详细注释,所有程序都已在VC++环境下编译通过并能正确运行,它们既是学习算法设计的示例,也能使复杂抽象的算法设计更易为学习者理解和掌握。书中包含大量实例和图示,并附丰富的习题,便于自学。
本书可作为高等院校计算机科学与技术和其他相关专业的本科和研究生的“算法设计与分析”课程的教材或参考书,是“算法与数据结构”或“数据结构”课程有益的教学参考书,也可供计算机工作者和其他希望了解和学习算法知识的人员参考。
目录
- 第1部分算法和算法分析
- 第1章算法问题求解基础
- 1.1算法概述
- 1.2问题求解方法
- 1.3算法设计与分析
- 1.4递归和归纳
- 本章小结
- 习题1
- 第2章算法分析基础
- 2.1算法复杂度
- 2.2渐近表示法
- 2.3递推关系
- 2.4分摊分析
- 本章小结
- 习题2
- 第3章伸展树与跳表
- 3.1伸展树
- 3.2跳表
- 本章小结
- 习题3
- 第2部分算法设计策略
- 第4章基本搜索和遍历方法
- 4.1基本概念
- 4.2图的搜索和遍历
- 4.3双连通分量
- 4.4与或图
- 本章小结
- 习题4
- 第5章分治法
- 5.1一般方法
- 5.2求最大最小元
- 5.3二分搜索
- 5.4排序问题
- 5.5选择问题
- 5.6斯特拉森矩阵乘法
- 本章小结
- 习题5
- 第6章贪心法
- 第7章动态规划法
- 第8章回溯法
- 第9章分枝限界法
- 第3部分求解困难问题
- 第10章NP完全问题
- 第11章随机算法
- 第12章近似算法
- 第13章密码算法
- 附录A专有名词中英文对照表
- 附录BC++程序设计概要
- 参考文献