第1章 绪论 1
1.1 什么是数据结构 1
1.2 数据的逻辑结构 2
1.3 算法的描述 4
本章小结 7
习题 7
第2章 线性表 8
2.1 线性表的基本概念 8
2.2 线性表的顺序存储结构及其算法 9
2.3 线性表的链式存储结构及其运算 14
2.4 线性表应用举例 30
2.5 数组 36
本章小结 40
习题 40
上机实验 40
第3章 栈与队列 41
3.1 栈 41
3.2 队列 56
本章小结 72
习题 72
上机实验 73
第4章 串 74
4.1 串的基本概念 74
4.2 串的存储结构 75
4.3 串的基本运算 78
4.4 串的应用举例 86
本章小结 86
习题 87
上机实验 87
第5章 树 88
5.1 树的基本概念 88
5.2 二叉树 91
5.3 二叉树的存储结构 94
5.4 二叉树的遍历 96
5.5 线索二叉树 103
5.6 二叉排序树和平衡二叉树 108
5.7 树、森林与二叉树之间的转换 118
5.8 哈夫曼树 120
5.9 B树 124
本章小结 128
习题 128
上机实验 130
第6章 图 131
6.1 图的基本术语 131
6.2 图的存储结构 135
6.3 图的遍历 142
6.4 最小生成树 151
6.5 最短路径 159
6.6 拓扑排序 167
6.7 关键路径 171
本章小结 172
习题 173
上机实验 175
第7章 查找 176
7.1 基本概念 176
7.2 顺序查找 177
7.3 二分法查找 178
7.4 分块查找 181
7.5 散列表及其查找 182
本章小结 194
习题 194
上机实验 194
第8章 排序 196
8.1 排序的基本概念 196
8.2 插入排序 197
8.3 选择排序 204
8.4 交换排序 208
8.5 归并排序 213
8.6 基数排序 215
8.7 几种排序方法的比较 220
本章小结 221
习题 221
上机实验 222
附录 上机实验参考答案 223
参考文献 249