第一章 绪论
1.1 什么是数据结构
1.2 基本概念和术语
1.3 数据结构的发展简史及它在计算机科学中所处的地位
1.4 算法的描述和算法分析
1.4.1 算法的描述
1.4.2 算法设计的要求
1.4.3 算法效率的度量
1.4.4 算法的存储空间需求
第二章 线性表
2.1 线性表的逻辑结构
2.2 线性表的顺序存储结构
2.3 线性瑶链式存储结构
2.3.1 线性链表
2.3.2 循环链表
2.3.3 双向链表
2.4 一元多项式的表示及相加
第三章 栈和队列
3.1 栈
3.1.1 抽象数据类型栈的定义
3.1.2 栈的表示和实现
3.2 表达式求值
3.3 栈与递归过程
3.3.1 递归过程及其实现
3.3.2 递归过程的模拟
3.4 队列
3.4.1 抽象数据类型队列的定义
3.4.2 链队列——队列的链式表示和实现
3.4.3 循环队列——队列的顺序表示和实现
3.5 离散事件模拟
第四章 串
4.1 串及其操作
4.1.1 串的逻辑结构定义
4.1.2 串的基本操作
4.2 串的存储结构
4.2.1 静态存储结构
4.2.2 动态存储结构
4.3 串基本操作的实现
4.3.1 静态结构存储串时的操作
4.3.2 模式匹配的一种改进算法
4.3.3 堆结构存储串时的操作
4.4 串操作应用举例
4.4.1 文本编辑
4.4.2 建立词索引表
第五章 数组和广义表
5.1 数组的定义和运算
5.2 数组的顺序存储结构
5.3 矩阵的压缩存储
5.3.1 特殊矩阵
5.3.2稀疏矩阵
5.4 广义表的定义
5.5 广义表的存储结构
5.6 m元多项式的表示
5.7 广义表的递归算法
5.7.1 求广义表
5.7.2 复制广义表
5.7.3 建立广义表的存储结构
第六章 树和叉树
6.1 树的定义和基本操作
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.6 哈夫曼树及其应用
6.6.1 最优二叉树
6.6.2 哈夫曼编码
6.7 回溯法与树的遍楞
6.8 树的计数
第七章 图
7.1 图的定义和术语
7.2 图的存储结构
7.2.1 数组表示法
7.2.2 邻接表
7.2.3 十字链表
7.2.4 邻接多重表
7.3 图的遍历
7.3.1 深度优先搜索
7.3.2 广度优先搜索
7.4 图的连通性问题
7.4.1 无向图的连通分量和生成树
7.4.2 有向图的强连通分量
7.4.3 最小生成树
7.4.4 关节点和重连通分量
7.5 有向无环图及其应用
7.5.1 拓朴排序
7.5.2 关键路径
7.6 最短路径
7.6.1 从某个源点到其余各顶点的最短路径
7.6.2 每一对顶之间的最短路径
7.7 二部图与图匹配
第八章 动态存储管理
第九章 查找
第十章 内部排序
第十一章 外部排序
第十二章 文件
附录一 类PASCAL语言扩充部分的语法图
附录二 名词索引
附录三 过程和函数索引
参考书目