第1章算法概述
1.1算法与程序
1.2算法复杂性分析
习题1
第2章递归与分治策略
2.1递归的概念
2.2分治法的基本思想
2.3二分搜索技术
2.4大整数的乘法
2.5Strassen矩阵乘法
2.6棋盘覆盖
2.7合并排序
2.8快速排序
2.9线性时间选择
2.10最接近点对问题
2.11循环赛日程表
习题2
第3章动态规划
3.1矩阵连乘问题
3.2动态规划算法的基本要素
3.3最长公共子序列
3.4最大子段和
3.5凸多边形最优三角剖分
3.6多边形游戏
3.7图像压缩
3.8电路布线
3.9流水作业调度
3.100-1背包问题
3.11最优二叉搜索树
3.12动态规划加速原理
习题3
第4章贪心算法
4.1活动安排问题
4.2贪心算法的基本要素
4.3最优装载
4.4哈夫曼编码
4.5单源最短路径
4.6最小生成树
4.7多机调度问题
4.8贪心算法的理论基础
习题4
第5章回溯法
5.1回溯法的算法框架
5.2装载问题
5.3批处理作业调度
5.4符号三角形问题
5.5n后问题
5.60-1背包问题
5.7最大团问题
5.8图的m着色问题
5.9旅行售货员问题
5.10圆排列问题
5.11电路板排列问题
5.12连续邮资问题
5.13回溯法的效率分析
习题5
第6章分支限界法
6.1分支限界法的基本思想
6.2单源最短路径问题
6.3装载问题
6.4布线问题
6.50-1背包问题
6.6最大团问题
6.7旅行售货员问题
6.8电路板排列问题
6.9批处理作业调度
习题6
第7章概率算法
7.1随机数
7.2数值概率算法
7.2.1用随机投点法计算值
7.2.2计算定积分
7.2.3解非线性方程组
7.3舍伍德(Sherwood)算法
7.3.1线性时间选择算法
7.3.2搜索有序表
7.3.3跳跃表
7.4拉斯维加斯(LssVegas)算法
7.4.1n后问题
7.4.2整数因子分解
7.5蒙特卡罗(MonteCarlo)算法
7.5.1蒙特卡罗算法的基本思想
7.5.2主元素问题
7.5.3素数测试
习题7
第8章线性规划与网络流
8.1线性规划问题和单纯形算法
8.1.1线性规划问题及其表示
8.1.2线性规划基本定理
8.1.3约束标准型线性规划问题的单纯形算法
8.1.4将一般问题转化为约束标准型
8.1.5一般线性规划问题的2阶段单纯形算法
8.1.6单纯形算法的描述和实现
8.1.7退化情形的处理
8.1.8应用举例
8.2最大网络流问题
8.2.1网络与流
8.2.2增广路算法
8.2.3预流推进算法
8.2.4最大流问题的变换与应用
8.3最小费用流问题
8.3.1最小费用流
8.3.2消圈算法
8.3.3最小费用路算法
8.3.4网络单纯形算法
8.3.5最小费用流问题的变换与应用
习题8
第9章NP完全性理论与近似算法
9.1计算模型
9.1.1随机存取机RAM
9.1.2随机存取存储程序机RASP
9.1.3图灵机
9.2P类与NP类问题
9.2.1非确定性图灵机
9.2.2P类与NP类语言
9.2.3多项式时间验证
9.3NP完全问题
9.3.1多项式时间变换
9.3.2一些典型的NP完全问题
9.4NP完全问题的近似算法
9.4.1近似算法的性能
9.4.2顶点覆盖问题的近似算法
9.4.3旅行售货员问题近似算法
9.4.4集合覆盖问题的近似算法
9.4.5子集和问题的近似算法
习题9
附录C++概要
1.变量.指针和引用
2.函数与参数传递
3.c++的类
4.类的对象
5.构造函数与析构函数
6.运算符重载
7.友元函数
8.内联函数
9.结构
10.联合
11.异常
12.模板
13.动态存储分配
参考文献