《数据结构 C语言版》PDF下载

  • 购买积分:10 如何计算积分?
  • 作  者:孟祥瑞等编著
  • 出 版 社:上海:华东理工大学出版社
  • 出版年份:2004
  • ISBN:7562815534
  • 页数:233 页
图书介绍:本书系统地介绍了各种常用的数据结构和排序、查找的各种算法,阐述了各种数据结构内在的逻辑关系、存储表示和运算操作。本书可作为高校计算机类专业的教材,同时也可作为从事计算机工程与应用工作的科技工作者的参考用书。

第1章 绪论 1

1.1 数据结构的定义 1

1.2 数据结构的发展及其目的 3

1.3 基本概念及术语 4

1.4 数据类型和抽象数据类型 6

1.5 算法描述 8

1.6 算法分析 9

1.6.1 算法设计的要求 9

1.6.2 算法的复杂度 9

习题一 12

第2章 线性表 13

2.1 线性表的基本概念及操作 13

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

2.2.1 顺序存储结构的表示 14

2.2.2 顺序表上的基本运算 15

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

2.3.1 单链表结构的表示 19

2.3.2 单链表的基本操作 20

2.3.3 单链表上的其它运算举例 25

2.3.4 单向及双向循环链表 27

2.3.5 静态链表 31

2.4 顺序表和链式表的比较 33

2.5 线性表的应用举例 34

2.6 广义表 36

2.6.1 广义表的定义和基本运算 37

2.6.2 广义表的存储 38

习题二 40

第3章 栈和队列 42

3.1 栈的基本概念 42

3.2 栈的存储结构 43

3.2.1 栈的顺序存储 43

3.2.2 栈的顺序存储的基本操作 44

3.2.3 栈的链式存储结构 45

3.2.4 两种存储结构的比较 46

3.3 栈的应用 47

3.4 栈与递归 51

3.5 队列的概念 54

3.6 队列的存储结构 55

3.6.1 队列的顺序存储和循环队列 55

3.6.2 队列的链式存储结构 58

3.6.3 队列两种存储结构的比较 60

习题三 61

3.7 队列的应用 61

第4章 串和数组 63

4.1 串的定义及基本操作 63

4.1.1 串的定义 63

4.1.2 串的基本操作 64

4.2 串的存储表示 64

4.2.1 串的顺序结构 64

4.2.2 串的堆式存储结构 66

4.2.3 串的链式结构 67

4.3.1 朴素的模式匹配算法 68

4.3 串的模式匹配算法 68

4.3.2 改进的模式匹配算法 69

4.4 数组的定义及基本操作 72

4.4.1 数组的定义 72

4.4.2 数组的基本操作 73

4.5 数组的顺序存储结构 73

4.6 矩阵的压缩存储 74

4.6.1 特殊矩阵的压缩存储 74

4.6.2 稀疏矩阵的压缩存储 75

习题四 81

5.1.1 树的定义及相关术语 83

5.1 树的基本概念及其表示 83

第5章 树和二叉树 83

5.1.2 树形结构的逻辑特征 85

5.1.3 树的基本操作 85

5.1.4 树的存储结构 86

5.2 二叉树的定义和性质 89

5.2.1 二叉树的基本概念 89

5.2.2 二叉树的主要性质 91

5.3 二叉树的存储结构和基本操作 93

5.3.1 二叉树的存储 93

5.3.2 二叉树的基本操作及实现 96

5.4 遍历二叉树和线索二叉树 99

5.4.1 遍历二叉树 99

5.4.2 线索二叉树 104

5.5 树、森林与二叉树的转换 109

5.5.1 树转换为二叉树 109

5.5.2 森林转换为二叉树 110

5.5.3 二叉树转换为树和森林 110

5.6 树和森林的遍历 111

5.6.1 树的遍历 111

5.7.1 哈夫曼树的基本概念 112

5.6.2 森林的遍历 112

5.7 哈夫曼树及其应用 112

5.7.2 哈夫曼树的构造算法 114

5.7.3 哈夫曼树在编码问题中的应用 116

习题五 118

第6章 图 120

6.1 图的基本概念 120

6.1.1 图的定义和术语 120

6.1.2 图的基本操作 123

6.2.1 邻接矩阵 124

6.2 图的存储表示 124

6.2.2 邻接表 126

6.2.3 十字链表 128

6.2.4 邻接多重表 131

6.3 图的遍历 132

6.3.1 深度优先搜索 132

6.3.2 广度优先搜索 134

6.4 图的连通性 136

6.4.1 无向图的连通性 136

6.4.2 有向图的连通性 137

6.4.3 生成树和生成森林 137

6.4.4 关节点和重连通分量 139

6.5 最小生成树 142

6.5.1 最小生成树的基本概念 142

6.5.2 构造最小生成树的Prim算法 143

6.5.3 构造最小生成树的Kruskal算法 145

6.6 最短路径 147

6.6.1 从一个源点到其它各点的最短路径 147

6.6.2 每一对顶点之间的最短路径 150

6.7 有向无环图及其应用 152

6.7.1 有向无环图的概念 152

6.7.2 AOV网与拓扑排序 153

6.7.3 AOE图与关键路径 157

习题六 162

第7章 查找 163

7.1 基本概念 163

7.2 线性表的查找 164

7.2.1 顺序查找 164

7.2.2 折半查找 166

7.2.3 分块查找 169

7.3 树表的查找 171

7.3.1 二叉排序树 172

7.3.2 平衡二叉树 178

7.4 哈希表的查找 186

7.4.1 哈希表与哈希方法 186

7.4.2 常用的哈希函数 187

7.4.3 处理冲突的方法 189

7.4.4 哈希表的查找分析 192

习题七 195

第8章 内部排序 196

8.1 排序的概念 196

8.2.1 直接插入排序 197

8.2 插入排序法 197

8.2.2 希尔排序 199

8.3 交换排序法 200

8.3.1 冒泡排序 200

8.3.2 快速排序 201

8.4 选择排序法 203

8.4.1 直接选择排序 203

8.4.2 堆排序 205

8.5 归并排序法 207

8.6 基数排序法 209

8.6.1 多关键字排序 209

8.6.2 链式基数排序 210

8.7 各种排序方法的比较 213

习题八 214

第9章 文件 216

9.1 基本概念 216

9.1.1 外存设备简介 216

9.1.2 有关文件的基本概念 219

9.1.3 有关文件的操作 220

9.2 顺序文件 221

9.3 索引文件 222

9.4.1 ISAM文件 224

9.4 索引顺序文件 224

9.4.2 VSAM文件 226

9.5 哈希文件 228

9.5.1 按桶(Bucket)散列 228

9.5.2 哈希文件的运算 229

9.5.3 哈希文件的检索分析 230

9.6 多关键字文件 230

9.6.1 倒排文件 230

9.6.2 索引链接文件 232

习题九 232