第1章 树与二叉树 1
1.1 树的定义与表示 1
1.2 二叉树 5
1.3 二叉树的基本操作与存储实现 8
1.4 二叉树的遍历 13
1.5 线索二叉树 23
1.6 堆与优先权队列 33
1.7 最优二叉树——赫夫曼树 40
1.8 树的概念与表示 46
1.9 树、森林与二叉树的转换 53
1.10 并查集与等价关系 57
习题 64
实习题 66
第2章 图 68
2.1 基本概念 69
2.2 图的存储表示 75
2.3 图的遍历 88
2.4 图的连通性 92
2.5 最小生成树 97
2.6 最短路径 104
2.7 DAG及其应用 115
2.8 网络流及其应用 126
习题 139
实习题 143
第3章 集合与静态查找 144
3.1 集合及其表示 144
3.2 查找的基本概念 156
3.3 静态查找表 157
习题 166
实习题 168
第4章 动态集与查找树 169
4.1 二叉排序树 169
4.2 平衡二叉树(AVL树) 176
4.3 红黑树 193
4.4 伸展树 205
习题 213
实习题 215
第5章 多路搜索树 216
5.1 m路搜索树 216
5.2 B树和B+树 218
5.3 位树 232
5.4 Trie树 233
习题 238
实习题 240
第6章 静态索引与散列 241
6.1 静态索引技术 241
6.2 散列表技术 246
6.3 散列表的查找分析 264
6.4 理想散列函数 266
习题 269
实习题 273
第7章 排序 274
7.1 基本概念 274
7.2 插入排序 277
7.3 交换排序 285
7.4 选择排序 292
7.5 两路归并排序 303
7.6 分配排序 306
7.7 其他排序方法 309
7.8 各种内排序方法的比较 312
7.9 外排序 314
习题 322
实习题 326
参考文献 327