第1章 初识数据结构 1
1.1 数据结构讨论范畴 2
1.2 基本概念 2
1.3 数据的逻辑结构 4
1.4 数据的物理结构 5
1.5 算法的描述与分析 6
本章小结 9
习题与思考 10
第2章 重要的C语言概念 13
2.1 内存分配 14
2.2 结构数组、结构指针和位结构 17
2.3 C语言常见问题分析 20
本章小结 25
习题与思考 26
第3章 线性表 28
3.1 线性表的概念 29
3.2 顺序表 30
3.3 单向链表 33
3.4 循环链表 39
3.5 双向链表 40
3.6 应用实践 42
本章小结 47
习题与思考 48
第4章 栈与队列 50
4.1 栈 51
4.2 队列 57
4.3 应用实践 67
本章小结 80
习题与思考 81
第5章 串、多维数组与特殊矩阵 83
5.1 串 84
5.2 串的模式匹配 96
5.3 多维数组 103
5.4 特殊矩阵的压缩存储 106
5.5 稀疏矩阵 109
5.6 应用实践 116
本章小结 121
习题与思考 121
第6章 树 125
6.1 树的基本概念 126
6.2 二叉树 127
6.3 树和森林 138
6.4 线索二叉树 145
6.5 二叉排序树 151
6.6 应用实践 154
本章小结 167
习题与思考 168
第7章 图 170
7.1 图的基本概念 171
7.2 图的存储方式 174
7.3 图的遍历 180
7.4 最小生成树 185
7.5 最短路径 192
7.6 拓扑排序 200
7.7 关键路径 204
7.8 应用实践 206
本章小结 209
习题与思考 209
第8章 排序 212
8.1 基本概念 213
8.2 插入排序 214
8.3 交换排序 219
8.4 选择排序 225
8.5 归并排序 229
8.6 基数排序 232
8.7 排序方法比较 236
8.8 应用实践 237
本章小结 239
习题与思考 240
第9章 查找 242
9.1 基本概念 243
9.2 静态查找 244
9.3 动态查找 248
9.4 哈希查找 275
9.5 应用实践 283
本章小结 286
习题与思考 286
附录 关键词索引 289
参考文献 292