第1章 绪论 1
1.1 数据结构的基本概念 1
1.2 抽象数据类型 3
1.3 数据的逻辑结构与存储结构 5
1.4 算法的特性与算法的描述 6
1.5 算法分析 8
1.6 数据结构课程的地位及其学习方法 13
第2章 线性表 16
2.1 线性表的概念及运算 16
2.2 线性表的顺序表示与实现 18
2.3 线性表的链式表示与实现 28
2.4 静态链表 47
2.5 一元多项式的表示与相乘 52
小结 58
第3章 栈与队列 63
3.1 栈的表示与实现 63
3.2 栈的应用 73
3.3 栈与递归 84
3.4 队列的表示与实现 90
3.5 队列的应用 101
小结 109
第4章 串 113
4.1 串 113
4.2 串的表示与实现 116
4.3 串的模式匹配 136
小结 149
第5章 数组与广义表 152
5.1 数组的定义与运算 152
5.2 特殊矩阵的压缩存储 159
5.3 稀疏矩阵的压缩存储 162
5.4 广义表 181
5.5 广义表的头尾链表表示与实现 183
5.6 广义表的扩展线性链表表示与实现 191
小结 197
第6章 树 200
6.1 树 200
6.2 二叉树 204
6.3 二叉树的遍历 215
6.4 二叉树的线索化 222
6.5 树、森林与二叉树 231
6.6 哈夫曼树 238
小结 245
第7章 图 251
7.1 图的定义与相关概念 251
7.2 图的存储结构 256
7.3 图的遍历 268
7.4 图的连通性问题 273
7.5 有向无环图 281
7.6 最短路径 290
7.7 图的应用举例 299
小结 304
第8章 查找 309
8.1 查找的基本概念 309
8.2 静态查找 310
8.3 动态查找 315
8.4 B-树与B+树 332
8.5 哈希表 341
小结 349
第9章 内排序 353
9.1 排序的基本概念 353
9.2 插入排序 354
9.3 选择排序 360
9.4 交换排序 367
9.5 归并排序 375
9.6 基数排序 377
小结 384
参考文献 388