第1章绪论
1.1基本术语
1.2数据结构的定义及研究的内容
1.2.1数据的逻辑结构
1.2.2数据的存储结构
1.2.3数据的运算
1.3算法
1.3.1算法的概念及特性
1.3.2算法的描述
1.3.3算法的评价
1.4学习数据结构的意义和目的
小结
习题
第2章线性表
2.1线性表的定义及运算
2.1.1线性表的定义及逻辑特征
2.1.2线性表上运算的定义
2.1.3线性表的存储结构
2.2顺序表
2.2.1顺序表的定义及表示
2.2.2线性表运算在顺序表上的实现
2.3链表
2.3.1链表的定义及形式
2.3.2单链表
2.3.3循环链表
2.3.4双链表
2.3.5静态链表
2.4顺序表和链表的比较
小结
习题
第3章栈和队列
3.1栈
3.1.1栈的定义及运算
3.1.2顺序栈及运算的实现
3.1.3链栈及运算的实现
3.1.4栈的应用
3.1.5栈与递归
3.2队列
3.2.1队列的定义及运算
3.2.2顺序队列及运算的实现
3.2.3链队列及运算的实现
3.3栈与队列的比较
小结
习题
第4章多维数组及广义表
4.1多维数组
4.2矩阵的压缩存储
4.2.1特殊矩阵
4.2.2稀疏矩阵
4.3广义表
4.3.1广义表的定义
4.3.2广义表的运算
小结
习题
第5章树
5.1树的定义
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哈夫曼编码及译码
5.5树和森林
5.5.1树和森林的遍历定义
5.5.2森林与二叉树的转换
5.5.3树的存储
小结
习题
第6章图
6.1图的概念
6.2图的存储
6.2.1邻接矩阵
6.2.2邻接表
6.2.3边集数组
6.2.4图的三种存储方法的比较
6.3图的遍历
6.3.1深度优先搜索遍历
6.3.2广度优先搜索遍历
6.3.3非连通图的遍历
6.4*小生成树
6.4.1普里姆算法
6.4.2克鲁斯卡尔算法
6.5*短路径
6.5.1单源*短路径
6.5.2任意两点间的*短路径
6.6拓扑排序
6.7关键路径
小结
习题
第7章排序
7.1排序的基本概念
7.2插入排序
7.2.1直接插入排序
7.2.2希尔排序
7.3交换排序
7.3.1起泡排序
7.3.2快速排序
7.4选择排序
7.4.1直接选择排序
7.4.2堆排序
7.5归并排序
7.6基数排序
7.7内排序方法的比较
小结
习题
第8章查找
8.1查找的基本概念
8.2顺序表查找
8.2.1顺序查找
8.2.2二分法查找
8.3索引查找
8.3.1索引表的组织
8.3.2分块查找
8.4树表查找
8.4.1二叉排序树
8.4.2平衡二叉排序树
8.4.3 B—树
8.5散列表查找
8.5.1散列表的概念
8.5.2散列函数的设计
8.5.3解决冲突的方法
8.5.4散列表的特点
小结
习题
附录A经典结构的典型应用程序
附录B习题解析及参考答案
参考文献