第一章 绪论 1
§1.1 引言 1
§1.2 问题的求解过程 2
§1.3 基本概念 4
§1.4 数据结构课程内容 7
§1.5 类C语言和算法分析 7
习题一 12
第二章 顺序表 13
§2.1 线性表 13
§2.2 栈和队列 18
习题二 34
第三章 链表 36
§3.1 单链表 36
§3.2 链栈和链队 45
§3.3 循环链表与多重链表 52
习题三 55
第四章 数组和广义表 58
§4.1 数组的逻辑结构 58
§4.2 广义表 71
习题四 74
第五章 字符串 76
§5.1 字符串及其运算 76
§5.2 字符串的存储表示 77
习题五 86
第六章 树 87
§6.1 基本术语及性质 87
§6.2 树的抽象数据类型和树的存储 89
§6.3 二叉树 93
§6.4 遍历二叉树 98
§6.5 二叉线索树 103
§6.6 树的遍历 108
§6.7 树的应用 109
习题六 119
第七章 图 122
§7.1 基本术语 123
§7.2 图的存储结构 125
§7.3 图的遍历和求图的连通分量 130
§7.4 生成树和最小生成树 134
§7.5 最短路径 138
§7.6 拓扑排序 143
§7.7 关键路径 148
习题七 151
第八章 查找表 154
§8.1 查找表的基本概念 154
§8.2 静态查找表的实现 155
§8.3 动态查找表的实现 163
§8.4 Hash(杂凑)法 188
习题八 195
第九章 内排序 198
§9.1 计数排序 199
§9.2 直接插入排序 200
§9.3 折半插入排序 203
§9.4 冒泡排序 203
§9.5 希尔排序 205
§9.6 选择排序 207
§9.7 堆排序 209
§9.8 快速排序 214
§9.9 合并排序 216
§9.10 基数排序 220
§9.11 总结 224
习题九 225
第十章 文件 227
§10.1 外存储设备 227
§10.2 基本概念 229
§10.3 顺序文件 231
§10.4 索引文件 232
§10.5 ISAM文件 234
§10.6 VSAM文件 236
§10.7 直接存取文件 237
§10.8 链接式文件和多重表文件 238
§10.9 倒排文件 239
习题十 241
第十一章 外排序 242
§11.1 外排序的主要过程 242
§11.2 K路归并 243
§11.3 缓冲区的并行操作处理 245
§11.4 初始归并段的产生 247
§11.5 磁带归并排序 250
习题十一 255
第十二章 应用示例 257
§12.1 堆栈的应用 257
§12.2 多重链表的一个实际应用:动态存储管理 259
§12.3 队列在银行出纳中的应用 265
§12.4 电力地理信息系统中配电网最佳抢修路径计算 268
§12.5 工程项目中统筹图的建立和分析 276
附录 实习步骤和内容 280
实习一 线性结构的顺序表示 281
实习二 链表 282
实习三 数组和广义表 284
实习四 串 285
实习五 树 286
实习六 图 286
实习七 查找和排序 287
参考文献 289