第1章 绪论
1.1 算法的基本定义
1.2 算法的空间复杂度
1.2.1 压缩存储技术
1.2.2 原地工作
1.3 算法的时间复杂度
1.3.1 基本运算
1.3.2 输入规模
1.3.3 输入情况
1.3.4 时间复杂度的阶
1.4 优化时间效率的方法
1.4.1 编程实现算法时注意细节优化
1.4.2 寻找解题思路时尽可能考虑最优性
1.5 实际生活中常见的算法问题
第2章 排序、顺序统计与解题的基本策略
2.1 计数排序与贪心策略
2.1.1 计数排序
2.1.2 贪心策略
2.2 “二分”思想与快速排序
2.2.1 分类和分治思想
2.2.2 快速排序采用二分法
2.2.3 快速排序和二分法在顺序统计问题上的应用
2.3 堆排序的思想与应用
2.3.1 在调整中保持堆性质
2.3.2 建堆
2.3.3 堆排序
2.4 数据有序化
2.4.1 预处理阶段的数据有序化
2.4.2 实时处理阶段的数据有序化
习题
第3章 初等数论的有关算法
3.1 计算a和b最大公约数的欧几里得公式gcd(a, b)
3.2 计算N的最大互质数
3.3 欧几里得公式推广:计算最大公约数的线性组合
3.4 计算同余方程ax≡b(mod n)(n>0)
3.5 求解同余式组
3.6 解不定方程ax+by=c
3.7 初等数论知识的应用
3.7.1 运用反复平方法求数的幂模n
3.7.2 素数的测试
3.7.3 整数的因子分解
习题
第4章 计算几何学的有关算法
4.1 线段的性质
4.2 计算两条相交线段的交点
4.3 判断任意一组线段中是否存在相交情况
4.4 计算线段p1p2的中垂线方程
4.5 计算凸多边形的重心位置和面积
4.6 寻找最近点对
4.7 计算包含平面所有点的二维凸包
4.8 将凸包问题由二维拓展至三维
4.8.1 计算三维凸包体积的基本思想
4.8.2 计算由3个空间点组成的劈面三棱柱的体积V(R( i))
4.8.3 计算包含点集p的三维凸包体积
4.9 计算几何类问题的类型和应对的基本方法
习题
第5章 搜索的有关算法
第6章 图论的有关算法
参考文献