第1章 绪论 1
1.1 什么是数据结构 1
1.2 基本概念和术语 4
1.3 抽象数据类型的表示与实现 8
1.4 算法和算法分析 10
习题 14
上机实训 17
第2章 线性表 19
2.1 线性表的基本概念 19
2.2 线性表的顺序存储结构 24
2.3 线性表的链式存储结构 27
2.4 线性表的应用 34
习题 37
上机实训 39
第3章 栈和队列 42
3.1 栈 43
3.2 栈的应用举例 46
3.3 栈与递归 55
3.4 队列 66
3.5 队列应用举例 73
习题 75
上机实训 78
第4章 串 79
4.1 串类型的定义 79
4.2 串的表示和实现 82
4.3 串的模式匹配 87
习题 91
上机实训 93
第5章 数组和广义表 95
5.1 数组的定义和运算 95
5.2 数组的顺序存储结构和实现 98
5.3 矩阵的压缩存储 100
5.4 广义表 105
习题 108
上机实训 111
第6章 树 113
6.1 树的概念与表示 114
6.2 二叉树的基本概念及操作 120
6.3 树、森林与二叉树的转换 126
6.4 树的应用 129
习题 134
上机实训 137
第7章 图 139
7.1 图的基本概念 140
7.2 图的存储表示 143
7.3 图的遍历和生成树 149
7.4 最小生成树 151
7.5 最短路径 155
7.6 有向无环图及其应用 160
习题 167
上机实训 170
第8章 查找 172
8.1 查找的基本概念和术语 172
8.2 静态查找表 173
8.3 动态查找表 178
8.4 哈希表 186
习题 191
上机实训 193
第9章 内部排序 195
9.1 概述 195
9.2 插入排序 197
9.3 交换排序 202
9.4 选择排序 207
9.5 归并排序 214
9.6 基数排序 216
9.7 各种内部排序方法的比较讨论 220
习题 221
上机实训 223
参考答案 225
参考文献 239