第1章 概述 1
1.1 数据结构的发展 1
目录 1
1.2 基本概念 2
1.3 算法描述与分析 4
习题1 10
2.1 线性表的定义及基本操作 13
2.1.1 线性表的基本概念 13
第2章 线性表 13
2.1.2 线性表的基本操作 14
2.2 顺序表 14
2.2.1 顺序表的定义 14
2.2.2 基本操作在顺序表上的实现 15
2.3 链表 19
2.3.1 单链表的表示和实现 19
2.3.2 双链表的表示和实现 27
2.3.3 循环链表的表示和实现 31
2.3.4 静态链表的表示和实现 38
2.4.1 栈的定义及其基本操作 43
2.4 栈 43
2.4.2 顺序栈的表示和实现 44
2.4.3 链栈的表示和实现 48
2.5 队列 51
2.5.1 队列的定义及其基本操作 51
2.5.2 顺序队列的表示和实现 52
2.5.3 链队列的表示和实现 56
2.6.1 串的定义及其基本操作 58
2.6 串 58
2.6.2 顺序串的表示和实现 59
2.6.3 链串的表示和实现 64
2.6.4 串的模式匹配 70
习题2 75
第3章 数组和广义表 81
3.1 数组 81
3.1.1 数组的定义及基本操作 81
3.1.2 数组存储结构 82
3.1.3 矩阵的压缩存储 83
3.2 广义表 97
3.2.1 广义表的定义和基本操作 97
3.2.2 广义表的存储 98
习题3 103
第4章 树和二叉树 107
4.1 树的定义和基本操作 107
4.1.1 树的定义和基本术语 107
4.1.2 树的基本操作 108
4.2.1 二叉树的定义 109
4.2 二叉树的定义和性质 109
4.2.2 二叉树的性质与结论 110
4.3 二叉树的存储 112
4.3.1 二叉树的顺序存储结构 112
4.3.2 二叉树的链式存储结构 114
4.4 二叉树的遍历及应用 116
4.4.1 二叉树的遍历 116
4.4.2 二叉树递归遍历应用举例 119
4.4.3 二叉树的非递归遍历 122
4.5.1 线索二叉树的定义 124
4.5 线索二叉树 124
4.5.2 线索化处理算法 125
4.6 树和森林 128
4.6.1 树的存储结构 128
4.6.2 树、森林与二叉树之间的转换 132
4.6.3 树和森林的遍历 133
4.7 霍夫曼树及其应用 133
4.7.1 霍夫曼树 134
4.7.2v霍夫曼编码 136
习题4 139
第5章 图 143
5.1 图的基本概念 143
5.2 图的存储 146
5.2.1 邻接矩阵 147
5.2.2 邻接表与逆邻接表 148
5.2.3 十字链表 150
5.2.4 邻接多重表 151
5.3.1 深度优先搜索及其生成树 152
5.3 图的遍历 152
5.3.2 广度优先搜索及其生成树 153
5.4 最小生成树 154
5.4.1 Kruskal算法 154
5.4.2 Prim算法 156
5.5 图的应用 157
5.5.1 拓扑排序 157
5.5.2 关键路径 159
5.5.3 最短路径 161
习题5 163
第6章 查找 167
6.1 静态查找表 168
6.1.1 顺序查找 168
6.1.2 二分查找 169
6.1.3 分块查找 171
6.2 动态查找表 173
6.2.1 二叉排序树 173
6.2.2 平衡二叉树 178
6.2.3 B树与B+树 184
6.2.4 键树 186
6.3 散列表 187
6.3.1 散列表的定义 187
6.3.2 散列函数的构造方法 188
6.3.3 处理冲突的方法 190
6.3.4 散列表的查找与分析 192
习题6 193
7.1 概述 197
第7章 内部排序 197
7.2 插入排序 199
7.3 交换排序 207
7.4 选择排序 210
7.5 归并排序 217
7.6 计数排序与基数排序 219
7.7 各种排序方法的综合比较 222
习题7 223
8.1 外存储器简介 227
第8章 外部排序 227
8.2 外部排序的方法 229
8.3 多路归并排序 230
8.4 置换-选择排序 232
8.5 最佳归并树 234
习题8 235
第9章 动态存储管理 237
9.1 概述 237
9.2 可利用空间表及分配方法 239
9.3 边界标识法 242
9.3.1 可利用空间表的结构 242
9.3.2 分配算法 243
9.3.3 回收算法 244
9.4 伙伴系统 246
9.4.1 可利用空间表的结构 246
9.4.2 分配算法 248
9.4.3 回收算法 249
9.5 无用单元收集 249
9.6 存储紧缩 254
第10章 文件 257
10.1 表与文件 257
10.1.1 有关文件的基本概念 257
10.1.2 记录的逻辑结构和物理结构 258
10.1.3 文件的操作 258
10.2 外存储器简介 259
10.2.1 文件的物理结构 259
10.2.2 文件的逻辑结构和文件的存储结构 260
10.2.3 顺序文件 261
10.2.4 索引文件 262
10.3 ISAM文件 265
10.4 VSAM文件 266
10.5 直接存取文件 267
10.6 多关键字文件 268
10.6.1 多重表文件 268
10.6.2 倒排文件 269
习题10 270
参考文献 271