《数据结构实用教程》PDF下载

  • 购买积分:10 如何计算积分?
  • 作  者:徐新爱,刘日华,胡佳主编;赵福生,王洪发,万里勇副主编;聂承启主审
  • 出 版 社:北京:中国铁道出版社
  • 出版年份:2013
  • ISBN:9787113156404
  • 页数:220 页
图书介绍:本书涵盖了《数据结构》的主要内容,具体介绍了数据结构、算法以及应用,介绍了线性表、栈、队列、串、数组、树和二叉树、图等常用数据结构,讨论了常用的排序技术和查找,给出了具体不同种类的数据结构的应用实例。本书低理论,重实践,重实用,充分考虑了高职高专学生的特点;每章前列出重点和难点,每章后列出知识巩固和实训演练,给学生的学生提供了方向性参考作用;除第1章外,每章基本内容介绍完后,都安排了一节经典的实用实例;本书讲授建议72个课时,理论课 36节,实践课36节。

第1章 绪论 1

1.1数据结构概述 1

1.1.1 基本概念 1

1.1.2数据结构 2

1.2算法 5

1.2.1算法的概念 5

1.2.2算法的描述 7

1.3 算法分析 11

1.3.1 时间复杂度 11

1.3.2空间复杂度 13

小结 13

知识巩固 13

实训演练 14

第2章线性表 16

2.1 线性表的定义及操作 16

2.1.1线性表的定义 16

2.1.2线性表的操作 17

2.2线性表运算 17

2.2.1顺序存储实现 18

2.2.2链式存储实现 21

2.2.3循环链表实现 24

2.2.4双向循环链表 25

2.2.5 顺序表与链表的比较 27

2.3经典应用实例 28

2.3.1 约瑟夫问题 28

2.3.2多项式求和 32

小结 37

知识巩固 38

实训演练 39

第3章 栈 41

3.1 栈的定义及基本运算 41

3.1.1 栈的定义 41

3.1.2栈的基本运算 42

3.2栈的顺序存储实现 42

3.2.1 栈的顺序存储 42

3.2.2栈的基本运算在顺序栈上的实现 43

3.2.3 栈的应用 44

3.3栈的链式存储实现 45

3.3.1栈的链式存储 45

3.3.2 栈的基本运算在链栈上的实现 45

3.4经典应用实例 46

3.4.1 数制转换 46

3.4.2表达式求值 48

小结 55

知识巩固 56

实训演练 57

第4章 队列 58

4.1 队列的定义及基本运算 58

4.1.1 队列的定义 58

4.1.2 队列的基本运算 59

4.2队列的顺序存储实现 59

4.2.1 队列的顺序存储 59

4.2.2 队列的基本运算在顺序存储上的实现 60

4.2.3循环队列 60

4.3 队列的链式存储实现 62

4.3.1 队列的链式存储 62

4.3.2 队列的基本运算在链式存储上的实现 63

4.4经典应用实例 64

4.4.1 迷宫问题 64

4.4.2模拟就诊过程 68

小结 72

知识巩固 72

实训演练 74

第5章 串 75

5.1 串的概念与操作 75

5.1.1 串的概念 75

5.1.2 串的操作 76

5.1.3 malloc()和free()函数 77

5.2 串的顺序存储结构与运算 78

5.2.1 串的顺序存储结构 78

5.2.2 串的基本运算及算法 78

5.2.3 常用的字符串处理函数 79

5.3 串的链式存储结构与运算 81

5.3.1 串的链式存储结构 81

5.3.2 串的基本运算 82

5.4经典应用实例 84

5.4.1 测试串的基本操作 84

5.4.2模式匹配 91

小结 94

知识巩固 94

实训演练 95

第6章 数组和广义表 97

6.1 数组 97

6.1.1 一维数组 97

6.1.2二维数组 98

6.1.3 多维数组 99

6.2矩阵的压缩存储 99

6.2.1 三角矩阵 99

6.2.2对称矩阵 101

6.2.3 稀疏矩阵 101

6.2.4带状矩阵 103

6.3 广义表 104

6.3.1 广义表的概念 104

6.3.2广义表的存储结构 104

6.3.3 广义表的运算 105

6.4经典应用实例 106

6.4.1 矩阵鞍点 106

6.4.2稀疏矩阵相加 108

小结 113

知识巩固 113

实训演练 114

第7章 树 115

7.1 树的定义及基本概念 115

7.1.1树的定义 115

7.1.2树的基本术语 116

7.1.3树的存储结构 117

7.2二叉树 118

7.2.1二叉树的定义 118

7.2.2二叉树的性质 118

7.2.3 二叉树的存储结构 120

7.3二叉树的遍历及算法 122

7.3.1 二叉树的遍历 122

7.3.2二叉树遍历算法 124

7.4树、森林与二叉树的转换 125

7.4.1树转换为二叉树 125

7.4.2森林转换为二叉树 126

7.4.3二叉树转换为树 128

7.4.4二叉树转换为森林 128

7.4.5树和森林的遍历 129

7.5 哈夫曼树 129

7.5.1 哈夫曼树及其构造 129

7.5.2哈夫曼树的应用 131

7.6经典应用实例 133

7.6.1二叉树的操作 133

7.6.2信息编码 136

小结 142

知识巩固 142

实训演练 143

第8章 图 145

8.1 基本概念 145

8.1.1 图的实际背景 145

8.1.2图的定义和术语 146

8.2图的存储结构 148

8.2.1 图的顺序存储——邻接矩阵 148

8.2.2图的链式存储——邻接表 150

8.3 图的遍历 151

8.3.1深度优先搜索遍历 151

8.3.2广度优先搜索遍历 152

8.4生成树 154

8.4.1最小生成树 154

8.4.2最小生成树算法 157

8.5 拓扑排序 159

8.5.1 拓扑排序的概念 159

8.5.2拓扑序列 160

8.5.3拓扑排序算法 160

8.6经典应用实例 161

8.6.1 最短路径 161

8.6.2教学计划编制 166

小结 169

知识巩固 169

实训演练 170

第9章 内部排序 172

9.1 基本概念 172

9.2插入排序 173

9.2.1直接插入排序 174

9.2.2折半插入排序 175

9.2.3希尔排序 176

9.3 交换排序 177

9.3.1 冒泡排序 177

9.3.2快速排序 179

9.4选择排序 180

9.4.1直接选择排序 181

9.4.2堆排序 182

9.5 归并排序 184

9.6基数排序 186

9.6.1多关键字排序 186

9.6.2链式基数排序 186

9.7经典应用实例 189

9.7.1考试成绩排序 189

9.7.2荷兰国旗问题 191

小结 193

知识巩固 194

实训演练 195

第10章 查找 197

10.1 基本概念 197

10.2线性表的查找 198

10.2.1 顺序查找 198

10.2.2二分查找 199

10.2.3分块查找 200

10.3树表的查找 201

10.3.1 二叉排序树查找 201

10.3.2平衡二叉树查找 203

10.4散列表查找 204

10.4.1散列表的概念 204

10.4.2散列函数的构造 205

10.4.3处理冲突的方法 206

10.4.4散列表的查找分析 207

10.5经典应用实例 207

10.5.1 模拟算法查询过程 208

10.5.2电话号码查询 211

小结 216

知识巩固 216

实训演练 218

参考文献 220