第1章 算法及算法的复杂性 1
1.1 算法的定义 1
1.2 算法的复杂度与评价 2
1.3 解递归方程 7
1.4 算法分析举例 15
习题一 18
第2章 贪婪法 20
2.1 贪婪法的基本思想 20
2.2 背包问题 22
2.3 有限期的计算机作业调度 24
2.4 计算机网络的最短传输时间 25
习题二 34
第3章 递归 35
3.1 递归调用的内部实现原理 35
3.2 递归程序的阅读 37
3.3 递归转非递归 39
3.4 递归算法的设计 43
习题三 49
第4章 回溯法 51
4.1 回溯法的基本思想 51
4.2 子集和问题 57
4.3 皇后问题 59
4.4 哈密顿回路问题 62
4.5 图的着色问题 64
习题四 67
5.1 最优性原理 68
第5章 动态规划 68
5.2 一些简单例子 70
5.3 最短路径问题 74
5.4 最优树问题 77
5.5 最优调度问题 80
习题五 83
第6章 分治法 85
6.1 分治法的基本思想 85
6.2 分治法算法设计的特点 86
6.4 分治法的应用 88
6.3 分治法的时间复杂度 88
习题六 99
第7章 探索法 100
7.1 探索法的基本思想 100
7.2 探索法的应用 102
习题七 110
第8章 分枝—限界法 111
8.1 状态空间树上的检索——FIFO,LIFO,LC检索 111
8.2 分枝—限界法解最优化问题 117
8.3 0/1背包问题的LC分枝—限界求解的实现 121
习题八 133
第9章 内存分类法 134
9.1 求第K个元素 134
9.2 堆分类 138
习题九 145
第10章 图的算法 146
10.1 图的两种遍历——DFS,BFS 146
10.2 DFS树 148
10.3 无向图的双连通分支 150
10.4 有向图的强连通分支 154
10.5 流的算法 157
习题十 165
第11章 NP完备理论 167
11.1 确定型图灵机(DTM) 168
11.2 可满足性问题 172
11.3 非确定型图灵机 173
11.4 Cook定理 175
11.5 若干NP完全问题及NP难题 178
11.6 近似计算 188
习题十一 199
第12章 现代优化计算方法简介 201
12.1 模拟退火算法 201
12.2 遗传算法 210
12.3 人工神经网络 228
习题十二 239
参考文献 241