第1章 绪论 1
1.1 基本概念和术语 1
1.2 数据结构的重要性 3
1.3 算法和算法分析 6
小结 9
习题 9
第2章 线性表 12
2.1 线性表的定义及其基本运算 12
2.2 线性表的顺序存储表示 15
2.3 线性表的链式存储表示 18
2.4 线性表的应用举例 32
小结 35
习题 35
第3章 栈和队列 40
3.1 栈 40
3.2 栈的应用举例 46
3.3 栈与递归的实现 52
3.4 队列 55
3.5 队列的应用举例 63
小结 67
习题 67
第4章 串 71
4.1 串的定义及其基本运算 71
4.2 串的存储表示 73
4.3 串的模式匹配 77
4.4 串运算应用举例 82
小结 84
习题 85
第5章 多维数组和广义表 87
5.1 多维数组 87
5.2 矩阵的压缩存储 89
5.3 广义表 98
小结 101
习题 102
6.1 树的定义和基本术语 105
第6章 树和二叉树 105
6.2 二叉树 107
6.3 遍历二叉树 112
6.4 线索二叉树 122
6.5 哈夫曼树及其应用 127
6.6 树和森林 132
小结 136
习题 137
7.1 图的概念和术语 142
第7章 图 142
7.2 图的存储结构 145
7.3 图的遍历 151
7.4 生成树和最小生成树 156
7.5 最短路径 162
7.6 有向无环图及其应用 167
小结 173
习题 174
8.1 查找的基本概念和术语 179
第8章 查找 179
8.2 线性表的查找 180
8.3 树表的查找 186
8.4 散列表的查找 198
小结 203
习题 204
第9章 排序 209
9.1 基本概念 209
9.2 插入排序 210
9.3 交换排序 213
9.4 选择排序 217
9.5 归并排序 221
9.6 分配排序 223
9.7 内部排序综合分析 226
9.8 外部排序 227
小结 230
习题 231
参考文献 236