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

  • 购买积分:11 如何计算积分?
  • 作  者:徐孝凯编著
  • 出 版 社:北京:清华大学出版社
  • 出版年份:2018
  • ISBN:9787302499510
  • 页数:300 页
图书介绍:本书第二版将对原来第一版的内容有所修改和取舍,将原来的九章修改为十章,减去了较难学的稀疏矩阵和广义表一章,添加了最常用的数据结构--集合一章,以及图的应用一章,使得全书内容更加简明实用,更符合非一流的普通院校开设数据结构课程时选作教材使用。

第1章 绪论 1

1.1 基本概念 1

1.2 算法描述 10

1.3 算法评价 11

习题 18

第2章 集合 22

2.1 集合的定义和运算 22

2.2 集合的顺序存储结构和操作实现 23

2.3 集合的链接存储结构和操作实现 29

2.3.1 链接存储集合的概念 29

2.3.2 集合运算在链接存储结构下的操作实现 30

习题 35

第3章 线性表 40

3.1 线性表的定义和运算 40

3.2 线性表的顺序存储结构和操作实现 42

3.3 链接存储的一般概念和方法 49

3.4 线性表的链接存储结构和操作实现 53

习题 58

第4章 栈和队列 63

4.1 栈的定义和运算 63

4.2 栈的顺序存储结构和操作实现 64

4.3 栈的链接存储结构和操作实现 67

4.4 栈的简单应用举例 70

4.5 算术表达式的计算 74

4.5.1 算术表达式的两种表示 74

4.5.2 后缀表达式求值的算法 75

4.5.3 把中缀表达式转换为后缀表达式的算法 78

4.6 栈与递归 81

4.7 队列 89

4.7.1 队列的定义和运算 89

4.7.2 队列的顺序存储结构和操作实现 90

4.7.3 队列的链接存储结构和操作实现 94

4.7.4 队列的应用简介 96

习题 97

第5章 树和二叉树 102

5.1 树的概念 102

5.1.1 树的定义 102

5.1.2 树的表示 104

5.1.3 树的基本术语 104

5.1.4 树的性质 105

5.2 二叉树 106

5.2.1 二叉树的定义 106

5.2.2 二叉树的性质 107

5.2.3 二叉树的抽象数据类型 108

5.2.4 二叉树的存储结构 109

5.3 二叉树遍历 112

5.4 二叉树其他运算 114

5.5 树的存储结构和运算 124

5.5.1 树的抽象数据类型 124

5.5.2 树的存储结构 124

5.5.3 树的运算 125

习题 132

第6章 二叉树应用 137

6.1 二叉搜索树 137

6.1.1 二叉搜索树的定义 137

6.1.2 二叉搜索树的抽象数据类型 138

6.1.3 二叉搜索树的运算 138

6.2 堆 145

6.2.1 堆的定义 145

6.2.2 堆的抽象数据类型 146

6.2.3 堆的存储结构 147

6.2.4 堆的运算 148

6.3 哈夫曼树 152

6.3.1 基本术语 152

6.3.2 构造哈夫曼树 153

6.3.3 哈夫曼编码 155

习题 158

第7章 图 162

7.1 图的概念 162

7.1.1 图的定义 162

7.1.2 图的基本术语 163

7.1.3 图的抽象数据类型 165

7.2 图的存储结构 166

7.2.1 邻接矩阵 166

7.2.2 邻接表 169

7.2.3 边集数组 172

7.3 图的遍历 173

7.3.1 深度优先搜索遍历 174

7.3.2 广度优先搜索遍历 177

7.3.3 非连通图的遍历 180

7.3.4 图的遍历算法的上机调试 180

7.4 图的其他运算 183

习题 194

第8章 图的应用 198

8.1 图的生成树和最小生成树 198

8.1.1 生成树和最小生成树的概念 198

8.1.2 普里姆算法 200

8.1.3 克鲁斯卡尔算法 204

8.2 最短路径 207

8.2.1 最短路径的概念 207

8.2.2 从图中一顶点到其余各顶点的最短路径 208

8.2.3 图中每对顶点之间的最短路径 214

8.3 拓扑排序 217

8.3.1 拓扑排序的概念 217

8.3.2 拓扑排序算法 219

8.4 关键路径 223

8.4.1 顶点事件的发生时间 223

8.4.2 计算关键路径的方法和算法 226

习题 230

第9章 查找 234

9.1 查找的概念 234

9.2 顺序表查找 235

9.2.1 顺序查找 235

9.2.2 二分查找 237

9.3 索引查找 241

9.3.1 索引的概念 241

9.3.2 索引查找算法 244

9.3.3 分块查找 246

9.4 散列查找 248

9.4.1 散列的概念 248

9.4.2 散列函数 249

9.4.3 处理冲突的方法 251

9.4.4 散列表的运算 254

9.5 B树查找 261

9.5.1 B树定义 261

9.5.2 B树查找 263

9.5.3 B树插入 264

9.5.4 B树删除 265

习题 268

第10章 排序 272

10.1 排序的基本概念 272

10.2 插入排序 274

10.2.1 直接插入排序 274

10.2.2 希尔排序 274

10.3 选择排序 276

10.3.1 直接选择排序 276

10.3.2 堆排序 277

10.4 交换排序 281

10.4.1 气泡排序 281

10.4.2 快速排序 282

10.5 归并排序 285

10.6 各种内排序方法的比较 289

10.7 外排序 290

10.7.1 外排序概念 290

10.7.2 外排序算法 292

习题 297