欢迎光临
免费的PDF电子书下载网站

数据结构——C语言描述(慕课版) PDF下载

编辑推荐

互联网+教材:人邮学院慕课平台作支撑,由上海交通大学张同珍副教授录制全套慕课。 注重思维方式的引导:采用逻辑结构、物理结构、操作实现、典型应用的方式组织内容,结合五步法口诀,保证算法完整性。 C语言代码实现:尽可能地给出了各种结构存储、操作算法的C语言实现代码,使抽象晦涩的概念和算法转变为实用工具。 ;

内容简介

数据结构是计算机及相关专业的基础课程。它不仅具有很强的理论性,也具有很强的实践性。本书对查找、排序进行了分析讨论,对线性结构、树结构、图结构采用了统一的讲解模式:逻辑结构+物理结构+基本操作实现+典型应用,并围绕这4个方面进行了详细讨论,条理清晰。另外,本书除了对各部分的操作实现算法进行理论分析之外,还用C语言进行了具体实现,从基本理论和基本技能两个方面对学生进行训练。 本书内容丰富、条理清晰、深入浅出、讲解详尽,适合计算机类、信息类、电类、自动控制类、数学类专业的学生使用,也适合软件设计人员、工程技术人员参考。

作者简介

张同珍,上海交通大学副教授,曾获上海市优秀教材奖、上海市教学成果奖、上海交通大学烛光奖。主要讲授“数据结构”“程序设计”“计算引论”等课程,其中,“数据结构”课程被评国家级精品课程、“程序设计”课程被评上海市精品课程。

数据结构——C语言描述(慕课版) PDF下载

目录

第 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

数据结构——C语言描述(慕课版) pdf下载声明

本pdf资料下载仅供个人学习和研究使用,不能用于商业用途,请在下载后24小时内删除。如果喜欢,请购买正版

pdf下载地址

版权归出版社和作者所有,下载链接已删除。如果喜欢,请购买正版!

链接地址:数据结构——C语言描述(慕课版)