第1章 绪论
1.1 数据结构的基本概念和术语
1.1.1 引言
1.1.2 数据结构的有关概念和术语
1.1.3 数据结构的分类
1.1.4 数据结构和抽象数据类型
1.2 算法分析
1.2.1 算法的定义和要求
1.2.2 算法分析技术基础知识
习题
第2章 线性表
2.1 线性表的定义
2.2 线性表的基本操作
2.3 线性表的顺序存储结构
2.3.1 线性表的顺序存储结构
2.3.2 顺序表上基本运算的实现
2.4 线性表的链式存储结构
2.4.1 单链表上的基本运算
2.4.2 循环链表
2.4.3 双向链表
2.5 顺序表和链表的比较
2.6 应用举例
习题
第3章 栈和队列
3.1 栈
3.1.1 栈的定义和基本操作
3.1.2 栈的顺序存储结构
3.1.3 栈的链式存储结构
3.2 队列
3.2.1 队列的定义和基本操作
3.2.2 队列的顺序存储结构
3.2.3 队列的链式存储结构
3.3 应用举例
习题
第4章 其他线性数据结构
4.1 串
4.1.1 串的定义和基本操作
4.1.2 串的存储结构
4.1.3 串的操作实现
4.1.4 串的应用--文本编辑基本原理
4.2 数组
4.2.1 数组的概念
4.2.2 数组的顺序表示
4.2.3 特殊矩阵的压缩存储
4.3 稀疏矩阵
4.3.1 稀疏矩阵的压缩存储
4.3.2 稀疏矩阵的运算
4.3.3 应用举例--稀疏矩阵运算器
习题
第5章 树
5.1 树的定义和基本操作
5.1.1 树的定义
5.1.2 树的表示方法
5.1.3 树的基本操作
5.2 二叉树
5.2.1 二叉树的定义和基本操作
5.2.2 二叉树的性质
5.2.3 二叉树的存储结构
5.2.4 遍历二叉树
5.3 树和森林
5.3.1 树的存储结构
5.3.2 树、森林与二叉树的转换
5.3.3 树和森林的遍历
5.4 树的应用
5.4.1 二叉排序树
5.4.2 哈夫曼树及其应用
习题
第6章 图
6.1 图的基本概念和术语
6.2 图的存储结构
6.2.1 邻接矩阵表示法
6.2.2 邻接链表表示法
6.3 图的遍历和求图的连通分量
6.3.1 深度优先搜索遍历
6.3.2 广度优先搜索遍历
6.3.3 求图的连通分量
6.4 图的应用
6.4.1 生成树和最小生成树
6.4.2 拓扑排序
6.4.3 最短路径
习题
第7章 查找
7.1 基本概念
7.2 静态查找表
7.2.1 顺序表上顺序查找
7.2.2 有序表查找
7.2.3 索引顺序表查找
7.3 动态查找表
7.3.1 二叉树排序树的生成和插入
7.3.2 二叉排序树上的查找
7.3.3 二叉排序树的删除
7.4 散列表
7.4.1 散列表与散列函数
7.4.2 散列函数的构造
7.4.3 解决冲突的主要方法
7.4.4 散列表的查找及分析
7.5 应用举例及分析
习题
第8章 内部排序
8.1 基本概念
8.2 插入排序
8.2.1 直接插入排序
8.2.2 折半插入排序
8.2.3 希尔排序
8.3 交换排序
8.3.1 冒泡排序
8.3.2 快速排序
8.4 选择排序
8.5 归并排序
8.6 基数排序
8.7 各种内部排序方法的比较
习题
主要参考文献