第一章 绪论 1
1.1基本概念和术语 1
1.2算法及其描述 7
1.3算法分析 8
习题 11
第二章 线性表 13
2.1线性表 13
2.2顺序表 14
2.3链式表 24
2.4顺序表和链式表的比较 48
2.5线性表应用:一元多项式相加 49
习题 51
第三章 串 52
3.1串抽象数据类型 52
3.2串的表示和实现 54
3.3串的模式匹配 65
习题 77
第四章 栈和队列 79
4.1栈 79
4.2队列 101
4.3递归 110
习题 112
第五章 数组和广义表 113
5.1数组 113
5.2特殊矩阵的压缩存储 122
5.3广义表 141
习题 149
第六章 树和二叉树 151
6.1树的定义及相关术语 151
6.2树的表示和实现 154
6.3二叉树的定义及性质 159
6.4树、森林与二叉树的转换 161
6.5二叉树的遍历 163
6.6二叉树的表示和实现 165
6.7线索二叉树 178
6.8二叉排序树 187
6.9哈夫曼树与哈夫曼编码 195
习题 202
第七章 图 203
7.1图的定义和术语 203
7.2图的表示和实现 207
7.3图的遍历 225
7.4生成树和最小生成树 234
7.5最短路径 242
习题 252
第八章 查找 254
8.1基本概念 254
8.2线性表的查找 256
8.3散列 261
8.4二叉排序树和平衡二叉树 267
习题 276
第九章 排序 277
9.1排序的术语 277
9.2插入排序 278
9.3交换排序 282
9.4选择排序 285
9.5归并排序 291
习题 293
参考文献 294