《数据结构 第2版》PDF下载

  • 购买积分:12 如何计算积分?
  • 作  者:严蔚敏,吴伟民
  • 出 版 社:北京:清华大学出版社
  • 出版年份:1992
  • ISBN:7302009848
  • 页数:340 页
图书介绍:本书系统介绍了各科类型的数据结构和查找、排序的各种方法。对每科数据结构,除阐述基本概念和实况,还给出算法。

第一章 绪论 1

1.1 什么是数据结构 1

1.2 基本概念和术语 3

1.3 数据结构的发展简史及它在计算机科学中所处的地位 12

1.4 算法的描述和算法分析 13

1.4.1 算法的描述 13

1.4.2 算法设计的要求 15

1.4.3 算法效率的度量 16

1.4.4 算法的存储空间需求 18

第二章 线性表 19

2.1 线性表的逻辑结构 19

2.2 线性表的顺序存储结构 22

2.3 线性表的链式存储结构 27

2.3.1 线性链表 27

2.3.2 循环链表 35

2.3.3 双向链表 35

2.4 一元多项式的表示及相加 37

第三章 栈和队列 41

3.1 栈 41

3.1.1 抽象数据类型栈的定义 41

3.1.2 栈的表示和实现 43

3.2 表达式求值 45

3.3 栈与递归过程 47

3.3.1 递归过程及其实现 47

3.3.2 递归过程的模拟 52

3.4 队列 59

3.4.1 抽象数据类型队列的定义 59

3.4.2 链队列--队列的链式存储结构 61

3.4.3 循环队列--队列的顺序存储结构 63

3.5 离散事件模拟 66

第四章 串 71

4.1 串及其操作 71

4.1.1 串的逻辑结构定义 71

4.1.2 串的基本操作 72

4.2 串的存储结构 73

4.2.1 静态存储结构 74

4.2.2 动态存储结构 74

4.3 串基本操作的实现 77

4.3.1 静态结构存储串时的操作 77

4.3.2 模式匹配的一种改进算法 80

4.3.3 堆结构存储串时的操作 84

4.4 串操作应用举例 86

4.4.1 文本编辑 86

4.4.2 建立词索引表 87

第五章 数组和广义表 93

5.1 数组的定义和运算 93

5.2 数组的顺序存储结构 95

5.3 矩阵的压缩存储 96

5.3.1 特殊矩阵 97

5.3.2 稀疏矩阵 97

5.4 广义表的定义 107

5.5 广义表的存储结构 109

5.6 m元多项式的表示 110

5.7 广义表的递归算法 112

5.7.1 求广义的深度 113

5.7.2 复制广义表 114

5.7.3 建立广义表的存储结构 115

第六章 树和二叉树 118

6.1 树的结构定义和基本操作 118

6.2 二叉树 120

6.2.1 定义与基本操作 120

6.2.2 二叉树的性质 122

6.2.3 二叉树的存储结构 124

6.3 遍历二叉树和线索二叉树 125

6.3.1 遍历二叉树 125

6.3.2 线索二叉树 128

6.4 树和森林 134

6.4.1 树的存储结构 134

6.4.2 森林与二叉树的转换 135

6.4.3 树的遍历 137

6.5 树与等价问题 138

6.6 哈夫曼树及其应用 142

6.6.1 最优二叉树(哈夫曼树) 142

6.6.2 哈夫曼编码 144

6.7 回溯法与树的遍历 148

6.8 树的计数 150

第七章 图 155

7.1 图的定义和术语 155

7.2 图的存储结构 159

7.2.1 数组表示法 159

7.2.2 邻接表 161

7.2.3 十字链表 162

7.2.4 邻接多重表 164

7.3 图的遍历 165

7.3.1 深度优先搜索 166

7.3.2 广度优先搜索 167

7.4 图的连通性问题 168

7.4.1 无向图的连通分量和生成树 168

7.4.2 有向图的强连通分量 171

7.4.3 最小生成树 171

7.4.4 关节点和重连通分量 174

7.5 有向无环图及其应用 177

7.5.1 拓扑排序 179

7.5.2 关键路径 184

7.6 最短路径 188

7.6.1 从某个源点到其余各顶点的最短路径 189

7.6.2 每一对顶点之间的最短路径 191

7.7 二部图与图匹配 193

第八章 动态存储管理 198

8.1 概述 198

8.2 可利用空间表及分配方法 200

8.3 边界标识法 203

8.3.1 可利用空间表的结构 203

8.3.2 分配算法 204

8.3.3 回收算法 206

8.4 伙伴系统 208

8.4.1 可利用空间表的结构 208

8.4.2 分配算法 209

8.4.3 回收算法 210

8.5 无用单元收集 211

8.6 存储紧缩 216

第九章 查找 219

9.1 静态查找表 220

9.1.1 顺序表的查找 220

9.1.2 有序表的查找 223

9.1.3 静态树表的查找 226

9.1.4 索引顺序表的查找 230

9.2 动态查找表 231

9.2.1 二叉排序树和平衡二叉树 231

9.2.2 B-树和B+树 241

9.2.3 键树 249

9.3 哈希表 253

9.3.1 什么是哈希表 253

9.3.2 哈希函数的构造方法 255

9.3.3 处理冲突的方法 258

9.3.4 哈希表的查找及其分析 260

第十章 内部排序 264

10.1 概述 264

10.2 插入排序 265

10.2.1 直接插入排序 265

10.2.2 其它插入排序 268

10.2.3 希尔排序 272

10.3 快速排序 274

10.4 选择排序 278

10.4.1 简单选择排序 278

10.4.2 树形选择排序 280

10.4.3 堆排序 281

10.5 归并排序 284

10.6 基数排序 285

10.6.1 多关键字的排序 286

10.6.2 链式基数排序 287

10.7 各种内部排序方法的比较讨论 289

第十一章 外部排序 294

11.1 外存信息的存取 294

11.2 外部排序的方法 296

11.3 多路平衡归并的实现 298

11.4 置换-选择排序 300

11.5 缓冲区并行操作处理 305

11.6 最佳归并树 307

11.7 磁带归并排序 308

11.7.1 平衡归并 308

11.7.2 多步归并 308

第十二章 文件 311

12.1 有关文件的基本概念 311

12.2 顺序文件 313

12.3 索引文件 316

12.4 ISAM文件和VSAM文件 318

12.4.1 ISAM文件 318

12.4.2 VSAM文件 321

12.5 直接存取文件(散列文件) 322

12.6 多关键字文件 324

12.6.1 多重表文件 324

12.6.2 倒排文件 325

附录一 类PASCAL语言扩充部分的语法图 327

附录二 名词索引 329

附录三 过程和函数索引 336

参考书目 340