第一章概论
1.1数据结构的概念
1.2为什么要学习数据结构
1.3算法描述
1.4算法分析
小结
习题
第二章线性表
2.1线性表的概念及运算
2.1.1线性表的逻辑结构
2.1.2线性表的运算
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.1栈
3.1.1栈的概念及运算
3.1.2顺序栈
3.1.3链栈
3.2栈的应用举例
3.3队列
3.3.1队列的概念及其运算
3.3.2顺序队列
3.3.3链队列
*3.4队列的应用举例
小结
习题
第四章串
4.1串及其运算
4.1.1串的基本概念
4.1.2串的基本运算
4.2串的存储结构
*4.3串运算的实现
小结
习题
第五章多维数组和广义表
5.1多维数组
5.2矩阵的压缩存储
5.2.1特殊矩阵
5.2.2稀疏矩阵
5.3广义表的概念
*5.4广义表的存储
小结
习题
第六章树
6.1树的概念
6.2二叉树
6.2.1二叉树的概念
6.2.2二叉树的性质
6.2.3二叉树的存储
6.3二叉树的遍历
6.4线索二叉树
6.5树和森林
6.5.1树.森林与二叉树的转换
*6.5.2树的存储
*6.5.3树和森林的遍历
6.6哈夫曼树及其应用
6.6.1最优二叉树(哈夫曼树)
6.6.2哈夫曼编码
小结
习题
第七章图
7.1图的概念
7.2图的存储
7.2.1邻接矩阵表示法
7.2.2邻接表表示法
7.3图的遍历
7.3.1连通图的深度优先搜索遍历
7.3.2连通图的广度优先搜索遍历
7.3.3非连通图的遍历
7.4生成树和最小生成树
7.5最短路径
7.5.1单源最短路径
7.5.2所有顶点对之间的最短路径
*7.6拓扑排序
*7.7关键路径
小结
习题
第八章排序
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.5归并排序
*8.6分配排序
8.7内部排序方法的比较和选择
*8.8外部排序简介
小结
习题
第九章查找
9.1基本概念
9.2线性表的查找
9.2.1顺序查找
9.2.2二分法查找
9.2.3分块查找
9.3树表的查找
9.3.1二叉排序树
*9.3.2平衡的二叉排序树
*9.3.3B-树
9.4散列表的查找
9.4.1散列表
9.4.2散列函数的构造方法
9.4.3处理冲突的方法
9.4.4散列表的查找及分析
小结
习题
第十章文件
10.1文件的基本概念
10.2顺序文件
10.3索引文件
10.4索引顺序文件
10.4.1BAM文件
10.4.2VSAM文件
10.5散列文件
*10.6多关键字文件
10.6.1多重表文件
10.6.2倒排文件
小结
习题
附录C语言概要
参考文献