第1章 绪论 1
1.1 学习数据结构的意义 1
1.2 数据结构的基本概念和术语 3
1.3 算法的描述工具 6
1.4 算法分析技术初步 7
习题 10
第2章 线性表 12
2.1 线性表的定义和运算 12
2.2 顺序分配的存储结构 15
2.3 链式分配的存储结构 48
2.4 向量和链表的综合比较 88
习题 88
第3章 多维数组 90
3.1 数组的定义和运算 90
3.2 数组的顺序存储结构 91
3.3 特殊类型矩阵的压缩存储 93
3.4 稀疏矩阵的十字链表表示法 103
3.5 数组的应用 109
习题 116
第4章 栈和队列 118
4.1 栈的定义及操作 118
4.2 栈的应用举例 122
4.3 算术表达式求值 132
4.4 栈与递归 140
4.5 队列的定义及操作 148
4.6 队列的应用举例 153
4.7 迷宫的最短路径 164
习题 171
第5章 串 173
5.1 串的定义和运算 173
5.2 串的存储结构 174
5.3 串运算的实现 176
5.4 文本编辑 180
习题 181
第6章 树 183
6.1 树的定义和基本运算 184
6.2 二叉树 185
6.3 二叉树的遍历 190
6.4 树与森林 208
6.5 树的应用 212
第7章 图 230
7.1 图的定义、术语和运算 230
7.2 图的存储结构 232
7.3 图的遍历 235
7.4 网的最小跨越树 248
7.5 最短路径 250
7.6 拓扑排序 252
习题 257
第8章 广义表 259
8.1 定义和基本运算 259
8.2 存储表示与算法实现 260
8.3 广义表的应用 284
8.4 广义表共享结构的使用 287
习题 289
第9章 查找 290
9.1 顺序查找 290
9.2 二分查找 291
9.3 分块查找 296
9.4 树表的查找 298
9.5 哈希表查找 301
习题 307
第10章 排序 308
10.1 插入排序 308
10.2 快速排序 309
10.3 选择排序 315
10.4 归并排序 319
10.5 基数排序 320
10.6 排序小结 323
习题 325
第11章 文件 327
11.1 文件的基本概念 327
11.2 顺序文件 329
11.3 索引文件 330
11.4 直接存取文件 336
11.5 多关键字文件 336