目录 1
第一章 引论 1
§1 从问题到程序 1
§2 程序设计的标准和原则 8
§3 抽象数据类型 10
§4 数据结构 12
§5* 算法和算法代价的度量 16
§6 本书采用的描述语言 19
习题 22
第二章 表 24
§1 向量 24
§2 向量的实现 27
§3 串 42
§4* 模式匹配 46
§5 栈 55
§6* 栈与递归 59
§7 队列 68
§8* 限制存取点的表 74
§9 数组 76
§10 广义表 83
习题二 90
第三章 树 94
§1 树和树林 94
§2 树抽象数据类型 101
§3 树的实现 108
§4 二叉树 122
§5 二叉树抽象数据类型 128
§6 二叉树的实现 132
§7* 哈夫曼算法及其应用 141
习题三 150
第四章 集合 153
§1 集合及其抽象数据类型 153
§2* 集合的应用——数据流分析 156
§3 集合的实现 161
§4 字典及其顺序表示 166
§5 字典的散列表示 171
§6 字典的树形表示——字符树 182
§7 字典的二叉树表示——二叉排序树 192
习题四 218
第五章 图 220
§1 基本概念 220
§2 图的表示方法 225
§3 图抽象数据类型 231
§4 生成树 234
§5 最短路径 241
§6 拓扑排序 249
§7* 关键路径 254
习题五 260
第六章 存储管理 264
§1 等长结点的动态管理 264
§2 不等长结点的动态管理 267
§3 无用结点的收集 281
§4* 存储压缩 289
§5* 伙伴系统 291
习题六 300
第七章 文件 302
§1 外存储器与文件结构 302
§2 顺序文件 311
§3 散列文件 315
§4 索引文件 324
§5* 倒排文件 341
习题七 353
第八章 排序 356
§1 插入排序 357
§2 选择排序 364
§3 交换排序 372
§4* 分配排序 378
§5* 外排序——归并法 383
习题八 399
附录 算法的分析与设计 403
§1 算法分析技术 404
§2 算法设计技术 412
参考文献 434