第1章 基础知识
1.1 数据结构与算法
1.2 抽象数据类型
1.3 C语言程序设计基础
1.3.1 数组
1.3.2 指针
1.3.3 结构体和共用体
1.3.4 函数与参数
1.3.5 递归函数
1.3.6 局部变量和全局变量
习题1
第2章 算法分析
2.1 算法的定义
2.2 空间复杂度
2.3 时间复杂度
2.3.1 程序步
2.3.2 最好、最差和平均性能
2.3.3 近似方法(O,n,@)
2.4 时间复杂度的测试
习题2
第3章 线性表、堆栈和队列
3.1 线性表
3.1.1 线性表的定义
3.1.2 线性表的数组表示
3.1.3 线性表的链表表示
3.1.4 稀疏矩阵与多重表
3.2 堆栈
3.2.1 迷宫问题
3.2.2 堆栈的定义
3.2.3 堆栈的实现
3.3 队列
3.3.1 队列的定义
3.3.2 队列的表示与操作
3.3.3 环形队列
习题3
第4章树
4.1 树的定义
4.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 查找最大和最小元素
4.4.4 二又搜索树的插入
4.4.5 二叉搜索树的删除
4.5 线索二叉树
4.5.1 线索二又树的遍历
4.5.2 二又搜索树的插入
4.6 B-树
4.6.1 B-树的组成形式
4.6.2 B-树的插入
4.6.3 B-树的删除
4.7 集散集合
4.7.1 等价关系
4.7.2 动态等价问题
4.7.3 基本数据结构
4.7.4 集合的加权合并
习题4
第5章 查找
5.1 静态查找
5.1.1 概述
5.1.2 最优二叉搜索树(Optimal Binary Search Tree)的构造
5.1.3 效率分析
5.2 动态查找
5.2.1 概述
5.2.2AVL树
5.2.3伸展树Splay tree
5.3哈希映射
5.3.1概述
5.3.2哈希表
5.3.3哈希函数
5.3.4冲突处理
习题5
第6章 堆(优先队列)
第7章 排序
第8章 图
第9章 算法设计技术
参考文献