第1章 绪论 1
1.1 基本术语 1
1.2 数据结构的内容 2
1.3 算法描述 5
1.4 算法分析 9
习题1 12
第2章 线性表 14
2.1 线性表的定义及运算 14
2.2 线性表的顺序存储结构 15
2.3 线性表的链式存储结构 20
2.4 循环链表 27
2.5 双向链表 28
2.6 多项式相加 31
习题2 34
第3章 栈和队列 36
3.1 栈的定义及抽象数据类型 36
3.2 栈的实现 37
3.3 栈的应用举例 42
3.4 队列的定义及抽象数据类型 44
3.5 队列的实现 45
3.6 队列的应用举例 52
习题3 56
第4章 串 58
4.1 串定义 58
4.2 串的存储方法 59
4.3 串操作 61
习题4 68
第5章 矩阵与广义表 69
5.1 矩阵 69
5.2 特殊矩阵 72
5.3 稀疏矩阵的运算 78
5.4 广义表 85
5.5 广义表的运算 89
习题5 95
第6章 树 96
6.1 树的定义和术语 96
6.2 二叉树 97
6.3 遍历二叉树和线索二叉树 104
6.4 二叉树的转换 111
6.5 二叉树的应用 116
6.6 哈夫曼树及其应用 120
习题6 125
第7章 图 131
7.1 图的定义与基本术语 131
7.2 图的存储结构 136
7.3 图的遍历和生成树 142
7.4 最小生成树 150
7.5 最短路径 157
7.6 拓扑排序 162
7.7 关键路径 165
习题7 167
第8章 查找 170
8.1 顺序查找 170
8.2 折半查找 172
8.3 分块查找 174
8.4 树型查找 175
8.5 散列查找 188
习题8 195
第9章 内排序 197
9.1 排序的基本概念 197
9.2 直接插入排序 198
9.3 简单选择排序 200
9.4 起泡排序 202
9.5 堆排序 204
9.6 快速排序 209
9.7 归并排序 212
9.8 基数排序 215
9.9 7种排序方法的比较 218
习题9 219
第10章 文件 221
10.1 概述 221
10.2 文件组织 222
10.3 动态索引 225
习题10 229
参考文献 230