第1章 算法引论 1
1.1 算法在计算机科学体系中的地位 1
1.2 算法与程序 3
1.3 算法的描述方式及设计方法 3
1.4 算法的分析 7
1.5 最优算法 8
第2章 递归与分治策略 12
2.1 递归 12
2.2 分治策略的基本思想 17
2.3 分治算法的分析技术 19
2.4 二分搜索技术 21
2.5 合并排序法 22
2.6 快速排序法 26
2.7 大整数的乘法 30
2.8 Strassen矩阵乘法 32
2.9 平面点集的凸包 33
2.10 找最大和最小元素 38
2.11 循环赛日程表 41
第3章 动态规划算法 43
3.1 动态规划算法原理及设计要素 43
3.2 最长公共子序列问题 48
3.3 矩阵连乘问题 52
3.4 凸多边形最优三角剖分 57
3.5 0—1背包问题 61
3.6 最优二叉搜索树 63
3.7 图像压缩 67
3.8 最大子段和 69
第4章 贪心算法 77
4.1 贪心算法的设计思想 77
4.2 活动安排问题 79
4.3 哈夫曼编码 81
4.4 最小生成树问题 85
4.5 单源(点)最短路径问题 92
4.6 背包问题 96
4.7 删数字问题 100
第5章 搜索算法 102
5.1 广度优先搜索 102
5.2 深度优先搜索 107
5.3 回溯法 114
5.4 分支限界法 131
第6章 概率算法 151
6.1 概率算法的设计思想 151
6.2 数值随机化算法 152
6.3 蒙特卡罗算法 159
6.4 拉斯维加斯算法 164
6.5 舍伍德算法 171
第7章 NP完全性理论 180
7.1 判定问题和最优化问题 180
7.2 P类与NP类问题 182
7.3 多项式变换技术与NP完全性 185
7.4 几个典型的NP完全问题 192
7.5 NP调度问题的处理 208
第8章 近似算法 212
8.1 近似算法的性能分析 212
8.2 集合覆盖问题 213
8.3 子集和问题 217
8.4 顶点覆盖问题 220
8.5 货郎问题 221
8.6 鸿沟定理和不可近似性 225
第9章 现代计算智能算法简介 229
9.1 人工神经网络 229
9.2 遗传算法 239
9.3 蚁群优化算法 252
9.4 粒子群优化算法 265
参考文献 271