第1章 预备知识
1.1 简介
1.2 什么是算法
1.3 程序符号
1.4 数学符号
1.4.1 命题演算
1.4.2 集合论
1.4.3 整数、实数和区间
1.4.4 函数和关系
1.4.5 量词
1.4.6 累加与累积
1.4.7 杂项
1.5 证明技巧1——反证法
1.6 证明技巧2——数学归纳法
1.6.1 数学归纳法的法则
1.6.2 不同颜色的马
1.6.3 一般化的数学归纳法
1.6.4 构造性归纳
1.7 一些回顾
1.7.1 极限
1.7.2 简单级数
1.7.3 基本组合
1.7.4 概率基础
1.8 习题
1.9 参考与深入阅读
第2章 基本算法
2.1 简介
2.2 问题和实例
2.3 算法的效率
2.4 平均和最坏情况分析
2.5 什么是基本运算?
2.6 为什么寻求效率?
2.7 一些例子
2.7.1 计算行列式的值
2.7.2 排序
2.7.3 大整数的乘法
2.7.4 计算最大公约数
2.7.5 计算斐波纳契序列
2.7.6 傅立叶变换
2.8 什么时候算法是确定的?
2.9 习题
2.10 参考与深入阅读
第3章 渐近记法
3.1 引言
3.2 同阶记法
3.3 其他渐近记法
3.3.1 Ω记法
3.3.2 Θ记法
3.4 条件渐近记法
3.5 具有多个参数的渐近记法
3.6 渐近记法的操作
3.7 习题
3.8 参考与深入阅读
第4章 算法分析
4.1 引言
4.2 分析控制结构
4.2.1 先后顺序
4.2.2 For循环
4.2.3 递归调用
4.2.4 while和repeat循环
4.3 使用标称
4.4 补充例子
4.4.1 选择排序
4.4.2 插入排序
4.4.3 欧几里德算法
4.4.4 汉诺塔
4.4.5 计算行列式的值
4.5 平均情况分析
……
第5章 一些数据结构
第6章 贪婪算法
第7章 分治算法
第8章 动态规划
第9章 搜索图
第10章 概率算法
第11章 并行算法
第12章 计算复杂性
第13章 启发式和近似算法
参考文献
展开