第1章 绪论
1.1 什么是数据结构
1.2 概念、术语
1.3 算法的描述及分析
1.3.1 算法的描述方法
1.3.2 时间复杂度
1.3.3 空间复杂度
1.3.4 算法分析实例
习题1
第2章 线性表
2.1 逻辑结构
2.2 顺序存储结构
2.2.1 存储结构
2.2.2 顺序存储结构的操作
2.2.3 效率分析
2.3 链式存储结构
2.3.1 概念
2.3.2 链式存储结构的操作
2.4 单向循环链表
2.5 双向循环链表
2.6 一元多项式的存储、运算
习题2
第3章 栈和队列
3.1 堆栈
3.1.1 栈的定义和基本运算
3.1.2 栈的表示和实现
3.1.3 栈的应用
3.2 队列
3.2.1 队列的定义和运算
3.2.2 队列的存储结构
习题3
第4章 串
4.1 串及其操作
4.1.1 串的逻辑结构
4.1.2 串的基本运算
4.2 串的存储结构
4.2.1 顺序存储结构
4.2.2 链式存储结构
4.2.3 堆存储结构
4.3 串的基本运算实现
4.4 串的模式匹配运算
4.4.1 BF算法(Brute-Force)
4.4.2 无回溯的模式匹配算法(KMP算法)
习题4
第5章 数组和广义表
5.1 数组的定义、运算
5.2 数组的顺序存储结构
5.3 矩阵的压缩存储
5.3.1 特殊矩阵
5.3.2 稀疏矩阵
5.4 广义表
5.4.1 广义表的定义
5.4.2 广义表的存储结构
5.4.3 广义表的基本操作
习题5
第6章 树
6.1 树结构的定义和基本操作
6.1.1 树的定义
6.1.2 树的基本术语
6.1.3 树的基本操作
6.2 二叉树
6.2.1 定义及其操作
6.2.2 二叉树的性质
6.2.3 二叉树的存储结构
6.3 遍历二叉树
6.3.1 二叉树遍历的递归算法
6.3.2 二叉树遍历的非递归算法
6.4 树和森林
6.4.1 树的存储结构
6.4.2 树与二叉树的转换
6.4.3 森林与二叉树的转换
6.5 树的应用
6.5.1 二叉排序树
6.5.2 哈夫曼树以及应用
习题6
第7章 图
7.1 图的定义和术语
7.2 图的存储结构
7.2.1 邻接矩阵
7.2.2 邻接表
7.3 图的遍历
7.3.1 深度优先搜索DFS(Depth First Search)
7.3.2 广度优先搜索BFS(Breadth First Search)
7.4 生成树
7.4.1 概念
7.4.2 最小生成树(最小支撑树)
7.5 最短路径
7.5.1 求某源点到其余各顶点的最短路径
7.5.2 每对顶点之间的最短路径
7.6 拓扑排序
7.6.1 顶点活动网(AOV网)
7.6.2 拓扑排序
习题7
第8章 查找
8.1 线性表的查找
8.1.1 顺序查找
8.1.2 折半查找
8.1.3 分块查找
8.2 树表的查找
8.2.1 二叉查找树
8.2.2 二叉平衡树
8.2.3 B_树
8.3 哈希表
8.3.1 哈希表的定义
8.3.2 哈希函数的构造
8.3.3 冲突处理方法
8.3.4 查找及分析
习题8
第9章 排序
9.1 插入排序
9.1.1 直接插入排序
9.1.2 希尔排序
9.2 交换排序
9.2.1 冒泡排序(简单交换排序)
9.2.2 快速排序
9.3 选择排序
9.3.1 直接选择排序
9.3.2 树形选择排序
9.4 归并排序
习题9
参考文献