《实用数据结构》PDF下载

  • 购买积分:11 如何计算积分?
  • 作  者:刘畅主编;汤晓伟,王茹,王象刚副主编;董凤服主审
  • 出 版 社:北京:电子工业出版社
  • 出版年份:2011
  • ISBN:9787121140549
  • 页数:276 页
图书介绍:本教材共分11章,前10章主要介绍了数据结构的基本概念和算法描述;线性表;栈的相关知识及相应的实例;队列知识及相应的实例。串;数组;树和二叉树;图的知识及实际应用,如图的最小生成树、最短路径问题等;查找;排序。第11章将前面各章的验证实验合并为一个综合的数组结构实验系统,介绍前面各主函数的修改及完整程序的文件包含。通过综合性实验加深学生对所学知识的理解,体现了应用型高职院校的高技能性人才的培养目标。

第1章 概论 1

1.1 引言 1

1.1.1 什么是数据结构 1

1.1.2 数据结构研究内容 1

1.2 数据的逻辑结构 3

1.2.1 有关概念和术语 3

1.2.2 数据的逻辑结构 4

1.3 数据的存储结构 5

1.4 算法和算法分析 7

1.4.1 算法的概念 7

1.4.2 算法的效率评价 7

小结 9

实验1复习数组、指针、结构体 10

习题1 13

第2章 线性表 16

2.1 线性表的基本概念 16

2.1.1 线性表的定义 16

2.1.2 线性表的基本操作 17

2.2 线性表的顺序存储 18

2.2.1 顺序表 18

2.2.2 顺序表的基本运算的实现 19

2.3 线性表的链式存储 25

2.3.1 单链表 26

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

2.3.3 循环链表 32

2.3.4 双向链表 33

2.4 顺序表与链表的比较 35

2.5 线性表的应用举例(约瑟夫环问题) 36

2.5.1 问题描述 36

2.5.2 数据结构 36

2.5.3 程序流程 36

2.5.4 源程序及运算结果 37

小结 40

实验2线性表子系统 40

习题2 46

第3章 栈 49

3.1 栈的定义及运算 49

3.1.1 栈的定义 49

3.1.2 栈的基本操作 50

3.2 栈的存储和实现 50

3.2.1 顺序栈 50

3.2.2 链栈 55

3.3 栈的应用举例 58

小结 61

实验3栈子系统 61

习题3 69

第4章 队列 72

4.1 队列的定义与基本运算 72

4.1.1 队列(Queue)的定义 72

4.1.2 队列的基本操作 73

4.2 队列的存储实现及运算实现 73

4.2.1 顺序队列 73

4.2.2 循环队列 74

4.2.3 链队列 79

4.3 队列的应用举例 82

小结 83

实验4队列子系统 83

习题4 87

第5章 串和广义表 91

5.1 串的定义和基本运算 91

5.1.1 串的定义 91

5.1.2 串的基本操作 92

5.2 串的存储结构 93

5.2.1 定长顺序串存储 94

5.2.2 链式存储 95

5.2.3 串的堆分配存储结构 95

5.3 串的基本运算的实现 97

5.4 广义表 101

5.4.1 广义表的定义和运算 101

5.4.2 广义表的存储 102

小结 104

实验5串子系统 105

习题5 113

第6章 树 117

6.1 树 117

6.1.1 树的定义 117

6.1.2 树的基本术语 118

6.2 二叉树 119

6.2.1 二叉树的定义 119

6.2.2 二叉树的基本运算 120

6.2.3 二叉树的性质 120

6.2.4 二叉树的存储结构 121

6.3 遍历二叉树 123

6.3.1 遍历二叉树 123

6.3.2 恢复二叉树 125

6.3.3 二叉树的其他操作 127

6.4 树和森林与二叉树的转换 129

6.4.1 树的存储结构 129

6.4.2 树和森林转换为二叉树 131

6.4.3 二叉树还原为树和森林 133

6.5 哈夫曼树 135

6.5.1 相关概念和哈夫曼树的定义 135

6.5.2 哈夫曼树的构造方法 136

6.5.3 哈夫曼编码 137

小结 140

实验6二叉树子系统 141

习题6 147

第7章 图 151

7.1 图的定义和术语 151

7.1.1 图的定义 151

7.1.2 图的相关术语 152

7.1.3 图的基本操作 154

7.2 图的存储结构 154

7.2.1 邻接矩阵 155

7.2.2 邻接表 157

7.3 图的遍历 160

7.3.1 深度优先搜索法 161

7.3.2 广度优先搜索法 162

7.4 图的连通性 164

7.4.1 无向图的连通分量和生成树 164

7.4.2 最小生成树的基本概念 165

7.4.3 普里姆(Prim)算法 165

7.4.4 克鲁斯卡尔(Kruskal)算法 169

7.5 最短路径问题 171

7.5.1 最短路径概念 171

7.5.2 求单源最短路径的方法 172

小结 176

实验7图子系统 176

习题7 181

第8章 查找 185

8.1 基本概念 185

8.2 静态查找表 186

8.2.1 顺序查找 187

8.2.2 折半查找 188

8.2.3 分块查找 191

8.3 动态查找表 193

8.3.1 二叉排序树的概念 193

8.3.2 二叉排序树的基本运算 194

8.4 哈希表查找 200

8.4.1 哈希表查找的基本思想 200

8.4.2 哈希表的构造方法 201

8.4.3 哈希表的冲突处理 202

8.4.4 哈希表的查找及性能分析 204

小结 206

实验8查找子系统 207

习题8 216

第9章 排序 219

9.1 排序的基本概念 219

9.2 插入排序 220

9.2.1 直接插入排序 220

9.2.2 希尔排序(Shell's Sort) 222

9.3 交换排序 224

9.3.1 冒泡排序(Bubble Sort) 224

9.3.2 快速排序(Quick Sort) 225

9.4 选择排序 227

9.4.1 直接选择排序 227

9.4.2 堆排序(Heap Sort) 229

9.5 归并排序 232

9.6 各种排序方法的比较 234

小结 234

实验9排序子系统 235

习题9 241

第10章 数据结构实验系统开发及说明 245

10.1 系统设计 245

10.1.1 系统模块设计规则 245

10.1.2 系统中的文件包含 246

10.2 系统实现 247

10.2.1 主调函数的设计与实现 247

10.2.2 调试运行系统 248

10.2.3 实训报告 250

附录A 习题答案 251

附录B 模拟试题及答案 270

参考文献 276