第1章 绪论
1.1 计算机与算法
1.1.1 古埃及人的绳索
1.1.2 欧几里德的尺规
1.1.3 起泡排序
1.1.4 算法
1.1.5 算法效率
1.2 复杂度度量复杂度
1.2.2 渐进复杂度
1.2.3 空间复杂度
1.3 复杂度分析
1.3.1 常数复杂度o(i)
1.3.2 对数复杂度O(Iogn)
1.3.3 线性复杂度O(n)
1.3.4 多项式复杂度0(polynomial(n))
1.3.5 指数复杂度0(2)
1.3.6 复杂度层次
1.3.7 输入规模
1.4 递归
1.4.1 线性递归
1.4.2 递归分析
1.4.3 递归模式
1.4.4 递归消除
1.4.5 二分递归
1.5 抽象数据类型
习题
第2章 向量
2.1 从数组到向量
2.1.1 数组
2.1.2 向量
2.2 接口
2.2.1 ADT接口
2.2.2 操作实例
2.2.3 Vector模板类
2.3 构造与析构
2.3.1 默认构造方法
2.3.2 基于复制的构造方法
2.3.3 析构方法
2.4 动态空间管理
2.4.1 静态空间管理
2.4.2 可扩充向量
2.4.3 扩容
2.4.4 分摊分析
2.4.5 缩容
2.5 向量
2.5.1 直接引用元素
2.5.2 置乱器
2.5.3 判等器与比较器
2.5.4 无序查找
2.5.5 插入
2.5.6 删除
2.5.7 唯-化
2.5.8 遍历
2.6 有序向量
2.6.1 比较器
2.6.2 有序性甄别
2.6.3 唯-化
2.6.4 查找
2.6.5 二分查找(版本A)
2.6.6 Fibonacci查找
2.6.7 二分查找(版本B)
2.6.8 二分查找(版本C)
2.7 排序与下界
2.7.1 有序性
2.7.2 排序及其分类
2.7.3 下界
2.7.4 比较树
2.7.5 估计下界
2.8 排序器
2.8.1 统一入口
2.8.2 起泡排序
2.8.3 归并排序
习题
第3章 列表
3.1 从向量到列表
3.1.1 从静态存储到动态存储
3.1.2 由秩到位置
3.1.3 列表
3.2 接口
3.2.1 列表节点
3.2.2 列表
3.3 列表
3.3.1 头、尾节点
3.3.2 默认构造方法
3.3.3 由秩到位置的转换
3.3.4 查找
3.3.5 插入
3.3.6 基于复制的构造
3.3.7 删除
3.3.8 析构
3.3.9 唯-化
3.3.1 0遍历
3.4 有序列表
3.4.1 唯-化
3.4.2 查找
3.5 俳序器
3.5.1 统一入口
3.5.2 插入排序
3.5.3 选择排序
3.5 ,4归并排序
习题
第4章 栈与队列
4.1 栈
4.1.1 概述
4.1.2 ADT接口
4.1.3 操作实例
4.1.4 Stack模板类
§4.2 栈与递归
4.2.1 递归的实现
4.2.2 避免递归
§4.3 典型应用
4.3.1 逆序输出
4.3.2 递归嵌套
4.3.3 延迟缓冲
4.3.4 逆波兰表达式
4.4 试探回溯法
4.4.1 试探与回溯
4.4.2 八皇后
4.4.3 迷宫寻径
……
第5章 二叉
第6章 图
第7章 搜索树
第8章 高级搜索树
第9章 词典
第10章 优先级队列
第11章 串
第12章 排序
附录