《21世纪高等教育计算机规划教材 数据结构C语言描述 慕课版》PDF下载

  • 购买积分:10 如何计算积分?
  • 作  者:张同珍编著
  • 出 版 社:北京:人民邮电出版社
  • 出版年份:2018
  • ISBN:9787115476036
  • 页数:234 页
图书介绍:本书统一采用抽象数据类型ADT的设计、表示、实现、典型应用几个过程逐一描述和讨论各种数据结构和算法,使用了丰富的图示、增加了常见错误讲解、对重点概念和算法做了慕课讲解、每章后附带配套练习。主要内容包括:绪论、线性表、栈和队列、树及二叉树、图、查找、内排序。

第1章 绪论 1

1.1 数据结构的定义 2

1.1.1 数据的逻辑结构 2

1.1.2 基本操作 2

1.1.3 抽象数据类型 3

1.1.4 数据的存储结构 3

1.1.5 基本操作的实现 3

1.1.6 典型应用 4

1.2 数据结构的C语言实现 4

1.3 算法及算法分析 4

1.3.1 算法及其要求 4

1.3.2 时间复杂度的度量 5

1.3.3 空间复杂度的度量 7

1.4 小结 7

1.5 习题 8

第2章 线性表 9

2.1 线性表的定义及ADT 10

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

2.2.1 顺序表 11

2.2.2 顺序表基本操作的实现 12

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

2.3.1 单链表 18

2.3.2 单链表基本操作的实现 19

2.3.3 单向循环链表 24

2.3.4 双链表、双向循环链表 25

2.4 线性表的应用 27

2.4.1 一元多项式的加法 27

2.4.2 字符串的存储和实现 32

2.4.3 稀疏矩阵 42

2.5 小结 43

2.6 习题 43

第3章 栈和队列 45

3.1 栈 46

3.1.1 栈的定义和抽象数据类型 46

3.1.2 栈的顺序存储及实现 47

3.1.3 栈的链式存储及实现 51

3.2 栈的应用 54

3.2.1 括号配对检查 54

3.2.2 表达式计算 55

3.3 队列 60

3.3.1 队列的定义和抽象数据类型 60

3.3.2 队列的顺序存储及实现 61

3.3.3 队列的链式存储及实现 64

3.3.4 优先队列 67

3.4 小结 68

3.5 习题 69

第4章 树及二叉树 70

4.1 树的定义、术语和结构 71

4.2 二叉树 72

4.2.1 二叉树的定义 72

4.2.2 二叉树的性质 74

4.2.3 二叉树的存储和实现 75

4.3 二叉树的遍历及实现 81

4.4 最优二叉树及其应用 92

4.4.1 基本概念 92

4.4.2 哈夫曼算法的实现 94

4.4.3 哈夫曼编码 96

4.5 等价类问题 99

4.5.1 等价关系及等价类 99

4.5.2 不相交集及其存储 99

4.5.3 不相交集的基本操作 100

4.6 树和森林 101

4.6.1 孩子兄弟表示法 101

4.6.2 树、森林与二叉树的转换 102

4.6.3 树的遍历 104

4.6.4 森林的遍历 105

4.7 小结 106

4.8 习题 106

第5章 图 108

5.1 图的基本概念 109

5.1.1 图的概念和术语 109

5.1.2 图的抽象数据类型 111

5.2 图的存储表示 112

5.2.1 邻接矩阵和加权邻接矩阵 112

5.2.2 邻接表 119

5.2.3 多重邻接表 127

5.2.4 十字链表 128

5.3 图的遍历和连通性 129

5.3.1 深度优先遍历DFS 129

5.3.2 广度优先遍历BFS 132

5.3.3 图的连通性 134

5.4 最小代价生成树 136

5.4.1 普里姆算法 137

5.4.2 克鲁斯卡尔算法 140

5.5 最短路径问题 141

5.5.1 单源最短路径 141

5.5.2 所有顶点对之间的最短路径 145

5.6 AOV网和AOE网 150

5.6.1 拓扑排序 150

5.6.2 关键路径 153

5.7 小结 163

5.8 习题 163

第6章 查找 165

6.1 静态查找技术 166

6.1.1 顺序查找 166

6.1.2 折半查找 167

6.1.3 插值查找 168

6.2 二叉查找树 168

6.2.1 二叉查找树的定义 168

6.2.2 基本操作 169

6.2.3 顺序统计 174

6.3 平衡二叉查找树(AVL树) 175

6.3.1 插入 176

6.3.2 删除 180

6.3.3 最大高度 181

6.4 红黑树 182

6.4.1 插入操作 183

6.4.2 删除操作 188

6.5 B树和B+树 192

6.5.1 B树 192

6.5.2 B树的查找分析 193

6.5.3 插入操作 194

6.5.4 删除操作 195

6.5.5 B+树 197

6.6 哈希(hash)方法 198

6.6.1 常用的哈希函数 198

6.6.2 线性探测法 199

6.6.3 二次探测法 200

6.6.4 链地址法 200

6.7 小结 200

6.8 习题 201

第7章 排序 202

7.1 引言 203

7.2 冒泡排序 203

7.3 插入排序 205

7.3.1 简单插入排序 205

7.3.2 折半插入排序 206

7.3.3 希尔排序 206

7.4 归并排序 208

7.5 快速排序 213

7.6 选择排序和堆排序 216

7.6.1 选择排序 216

7.6.2 堆排序 218

7.6.3 堆和优先队列 224

7.7 基数排序 225

7.7.1 多关键字排序 225

7.7.2 口袋排序法 225

7.8 内排序算法的比较 229

7.9 外排序 230

7.9.1 外排序处理过程 230

7.9.2 2k路归并 230

7.9.3 初始归并段 232

7.9.4 最佳归并树 233

7.10 小结 233

7.11 习题 234