《算法设计与分析》讲解算法设计与分析的相关知识,首先介绍了算法基本概念、算法基础知识及数学工具,然后介绍一些经典的算法,包括递归与分治法、贪心法、动态规划、回溯法、分支限界法、概率算法及NP问题。《算法设计与分析》以算法设计策略为知识单元,结合数据结构中的实例,系统地介绍计算机算法的设计与分析技巧。另外,书中还配有大量的习题及上机试题,以便读者检验和强化所学的知识,起到事半功倍的效果。
1 算法概述
1.1 算法概念
1.2 算法的复杂度
1.3 算法设计与分析的步骤
1.4 算法分析举例
1.5 算法描述语言简介
小结
习题
2 常用的数学工具
2.1 常用的函数和公式
2.2 用生成函数求解递归方程
2.3 用特征方程求解递归方程
2.4 用递推方法求解递归方程
3 递归与分治
3.1 递归技术概述
3.2 递归算法的例子
3.3 递归方程的建立与求解
3.4 递归消除
3.5 分治法概述
3.6 分治法举例
小结
习题
4 贪心法
4.1 货币兑付问题
4.2 贪心算法概述
4.3 背包问题
4.4 单源*短路径问题
4.5 *小花费生成树问题
4.6 *优装载
4.7 哈夫曼编码
小结
习题
5 动态规划
5.1 动态规划概述
5.2 0/1背包问题
5.3 *短路径
5.4 多矩阵乘积
5.5 *长公共子序列问题
小结
习题
6 回溯法
6.1 概述
6.2 背包问题
6.3 n皇后问题
6.4 图的着色问题
6.5 哈密尔顿回路问题
6.6 其他常见回溯法问题
6.7 回溯法的效率分析
小结
习题
7 分支限界法
7.1 概述
7.2 复杂的有限期作业调度问题
7.3 货郎担问题的分支限界法
7.4 其他分支限界问题
7.5 分支限界法与回溯法的比较
小结
习题
8 概率算法
8.1 概率算法概述
8.2 数值概率算法
8.3 蒙特卡罗算法
8.4 其他概率算法
小结
习题
9 NP问题
9.1 NP问题概述
9.2 P类与NP类问题
9.3 NP完全问题
9.4 一些典型的NP完全问题
小结
习题
参考文献