第1章 绪论 1
1.1 数据结构的概念和术语 2
1.2 算法和算法分析 6
1.2.1 算法的描述 7
1.2.2 算法设计的要求 9
1.2.3 算法效率 10
1.2.4 算法的空间需求 12
1.3 小结 13
2.1 线性表的逻辑结构 16
第2章 线性表 16
2.2 线性表的顺序存储结构 17
2.3 线性表的链式存储结构 21
2.3.1 线性链表 21
2.3.2 循环链表 32
2.3.3 双向链表 34
2.4 小结 36
3.1.1 栈的概念 41
第3章 栈和队列 41
3.1 栈 41
3.1.2 栈的表示和实现 42
3.1.3 栈的应用举例 46
3.2 队列 55
3.2.1 队列的概念 55
3.2.2 队列的顺序存储表示 56
3.2.3 队列的链式存储表示 59
3.3 栈和队列的应用实例——停车场管理 61
3.4 小结 65
第4章 串 70
4.1 串的概念 70
4.2 串的存储结构 71
4.2.1 串的静态存储结构 71
4.2.2 串的动态存储结构 75
4.2.3 串的基本运算 77
4.3 串操作应用举例 80
4.3.1 模式匹配 81
4.3.2 串在文本编辑中的应用 87
4.4 小结 88
第5章 数组 90
5.1 数组的概念 90
5.2 数组的顺序存储结构 91
5.3 矩阵的压缩存储 92
5.3.1 特殊矩阵 92
5.3.2 稀疏矩阵 94
5.4 小结 106
第6章 树和二叉树 108
6.1 基本术语 108
6.1.1 树的定义 108
6.1.2 与树有关的基本术语 110
6.1.3 树的表示方法 111
6.2.1 二叉树的概念和基本操作 112
6.2 二叉树 112
6.1.4 树的基本操作 112
6.2.2 二叉树的性质 114
6.2.3 二叉树的存储结构 116
6.3 遍历二叉树和线索二叉树 119
6.3.1 遍历二叉树 119
6.3.2 线索二叉树 125
6.4 树和森林 129
6.4.1 树的存储结构 129
6.4.2 森林转换成二叉树 133
6.5 哈夫曼树及其应用 135
6.5.1 哈夫曼树 135
6.5.2 哈夫曼编码 138
6.6 小结 139
第7章 图 142
7.1 图的概念 142
7.1.1 图的定义 142
7.1.2 图的基本术语 143
7.2 图的存储结构 147
7.2.1 数组表示法 147
7.2.2 邻接表 149
7.2.3 十字链表 151
7.2.4 邻接多重表 152
7.3 图的遍历 153
7.3.1 深度优先搜索 153
7.3.2 广度优先搜索 155
7.4 图的连通性问题 157
7.4.1 图的连通分量 157
7.4.2 最小生成树 158
7.5 有向无环图及其应用 160
7.5.1 拓扑排序 161
7.5.2 关键路径 163
7.6 最短路径 165
7.6.1 从某个源点到其余各顶点的最短路径 166
7.6.2 每一对顶点之间的最短路径 167
7.7 小结 168
第8章 查找 172
8.1 顺序表的查找 172
8.2 有序表的查找 174
8.2.1 二分查找 174
8.2.2 分块查找 179
8.3 二叉排序树的查找 181
8.4 哈希表的查找 188
8.4.1 哈希函数 189
8.4.2 哈希函数的构造方法 189
8.4.3 哈希冲突的解决方法 192
8.4.4 哈希表的查找 194
8.5 小结 195
第9章 排序 197
9.1 概述 197
9.2.1 直接插入排序 198
9.2 插入排序 198
9.2.2 其他插入排序 200
9.2.3 希尔排序 201
9.3 选择排序 202
9.3.1 简单选择排序 202
9.3.2 堆排序 204
9.4 交换排序 207
9.4.1 冒泡排序 207
9.4.2 快速排序 209
9.5 归并排序 211
9.6 基数排序 214
9.7 各种内排序法的比较 218
9.8 外部排序 219
9.9 小结 220
第10章 文件 222
10.1 文件的基本概念 222
10.2.2 顺序文件的操作特点 224
10.2 顺序文件 224
10.2.1 顺序文件的结构特点 224
10.2.3 顺序文件的处理时间 227
10.3 索引文件 228
10.3.1 索引文件的结构特点 228
10.3.2 索引文件的操作特点 229
10.3.3 静态索引和动态索引 230
10.3.4 索引顺序文件 233
10.4 直接存取文件 239
10.4.1 直接存取文件的结构特点 239
10.4.2 直接存取文件的操作特点 240
10.4.3 散列文件的优缺点 240
10.5 多关键字文件 240
10.5.1 多关键字文件的特点 240
10.5.2 次索引的组织方法 241
10.5.3 次关键索引表本身的结构 242
10.6 小结 242