第1篇 引入篇 3
第1章 算法概述 3
1.1用计算机求解问题与算法 3
用计算机求解问题的步骤 3
算法及其要素和特性 5
算法设计及基本方法 7
从算法到实现 10
1.2算法描述 12
算法描述简介 12
本书算法描述约定 16
一个简单问题的求解过程 19
1.3现代常用算法概览 21
压缩算法 21
加密算法 24
人工智能算法 26
并行算法 28
其他实用算法 30
第2章 算法分析基础 35
2.1算法分析体系及计量 35
算法分析的评价体系 35
算法的时间复杂性 36
算法的空间复杂性 39
NP完全问题 40
2.2算法分析实例 41
非递归算法分析 41
递归算法分析 43
提高算法质量 46
第2篇 基础篇 51
第3章 算法基本工具和优化技巧 51
3.1循环与递归 51
循环设计要点 52
递归设计要点 57
递归与循环的比较 61
3.2算法与数据结构 68
原始信息与处理结果的对应存储 70
数组使信息有序化 73
数组记录状态信息 75
大整数存储及运算 78
构造趣味矩阵 81
一维与二维的选择 87
3.3优化算法的基本技巧 91
算术运算的妙用 91
标志量的妙用 94
信息数字化 99
3.4优化算法的数学模型 106
杨辉三角形的应用 108
最大公约数的应用 109
公倍数的应用 112
斐波那契数列的应用 114
特征根求解递推方程 115
习题 117
第3篇 核心篇 123
第4章 基本的算法策略 123
4.1迭代算法 123
递推法 124
倒推法 127
迭代法解方程 130
4.2蛮力法 133
枚举法 133
其他范例 136
4.3分而治之算法 139
分治算法框架 139
典型二分法 140
二分法不相似情况 143
二分法不独立情况 146
非等分分治 150
4.4贪婪算法 154
可绝对贪婪问题 154
相对或近似贪婪问题 162
贪婪策略算法设计框架 165
4.5动态规划 166
认识动态规划 166
动态规划算法设计框架 169
突出阶段性的动态规划应用 171
突出递推的动态规划应用 180
4.6算法策略间的比较 185
不同算法策略特点小结 186
算法策略间的关联 187
算法策略侧重的问题类型 188
习题 189
第5章 图的搜索算法 192
5.1图搜索概述 192
图及其术语 192
图搜索及其术语 196
5.2广度优先搜索 196
算法框架 197
广度优先搜索的应用 198
5.3深度优先搜索 202
算法框架 203
深度优先搜索的应用 204
5.4回溯法 211
认识回溯法 212
算法简介算法框架 216
应用1——基本的回溯搜索 218
应用2——排列及排列树的回溯搜索 223
应用3——最优化问题的回溯搜索 226
5.5分支限界法 230
分支搜索算法 230
分支-限界搜索算法 237
算法框架 243
5.6图的搜索算法小结 244
习题 245
第4篇 应用篇 251
第6章 算法设计实践 251
6.1循环赛日程表(4种) 251
6.2求3个数的最小公倍数(4种) 258
6.3猴子选大王(4种) 262
6.4最大子段和问题(5种) 265
6.5背包问题(11种) 270
与利润无关的背包问题 270
与利润有关的背包问题 275
附录 算法设计与分析课程设计大纲 290