第1章 基本概念 1
1-1 算法和程序 2
1-2 程序复杂度的分析 3
1-3 参数的传递方式 8
1-4 递归程序 15
1-5 汉诺塔问题 24
第2章 数组 29
2-1 数组的表示法 30
2-2 上下三角矩阵 40
第3章 栈与队列 51
3-1 栈 52
3-2 队列 63
第4章 链表 71
4-1 链表 72
4-2 常考的链表算法 79
4-3 使用链表实现栈和队列 94
4-4 双向链表 99
第5章 树 107
5-1 树 108
5-2 二叉树 114
5-3 二叉树的遍历 124
5-4 再谈二叉树 146
5-5 折半查找树 162
5-6 常考的二叉树算法 169
5-7 线索二叉树 172
第6章 图 179
6-1 图的基本概念 180
6-2 图的表示方法 187
6-3 图的遍历 199
6-4 生成树 207
6-5 最短路径问题 218
6-6 拓扑排序 228
第7章 排序 233
7-1 排序的基本概念 234
7-2 内部排序 235
7-3 二叉树排序 271
7-4 外部排序 272
第8章 数据查找 289
8-1 常见的查找方法 290
8-2 哈夫曼编码 299
8-3 AVL Tree 304
8-4 B-tree 311
8-5 2-3树和2-3-4树 315
8-6 散列函数查找法 317
8-7 解决溢出的方法 323