《数据结构》PDF下载

  • 购买积分:11 如何计算积分?
  • 作  者:宗大华,陈吉人编
  • 出 版 社:北京:人民邮电出版社
  • 出版年份:2008
  • ISBN:9787115169839
  • 页数:278 页
图书介绍:本书是一本专门为高职、高专学生编写的数据结构教材。全书共9章,分三个大的部分:第一部分是第1章,是对数据结构的概述,整本书的基础;第二部分是第2章到第7章,介绍了各种数据结构、存储实现、以及在其上实行的常见算法;第三部分由第8章和第9章组成,第8章介绍查找技术,第9章介绍排序技术。 数据结构是一门专业基础课程。基于数据结构课程本身理论性、抽象性较强的特点,基于当前高职、高专学生的认知能力和水平,本书在编写过程中尽力做到精心选取内容,配以大量例题和习题(共有例题116个,习题282个),对给出的大多数算法都分“算法描述”、“算法分析”和“算法讨论”三个方面进行讲述,以求能够使学生更好地理解算法,更快地掌握算法,更希望学生能够从中感悟到编写程序的技巧和方法。

第1章 数据结构概述 1

1.1 数据的逻辑结构 1

1.1.1 数据及数据间的邻接关系 1

1.1.2 数据的逻辑结构 3

1.2 数据的存储结构 4

1.2.1 顺序式存储结构 5

1.2.2 链式存储结构 5

1.3 算法及算法分析 6

1.3.1 算法及算法的描述 7

1.3.2 算法分析 11

小结 14

习题 15

第2章 线性表 17

2.1 线性表的基本知识 17

2.2 线性表的顺序存储实现 18

2.2.1 顺序表 18

2.2.2 顺序表的基本算法描述 19

2.3 线性表的链式存储实现 27

2.3.1 单链表 27

2.3.2 单链表的基本算法描述 28

2.4 链式存储的推广 35

2.4.1 双链表 35

2.4.2 循环链表 39

小结 45

习题 46

第3章 堆栈与队列 50

3.1 堆栈 50

3.1.1 堆栈的基本知识 50

3.1.2 堆栈的顺序存储实现 52

3.1.3 堆栈的链式存储实现 57

3.2 队列 60

3.2.1 队列的基本知识 60

3.2.2 队列的顺序存储实现 61

3.2.3 循环队列的顺序存储实现 66

3.2.4 队列的链式存储实现 71

3.3 栈与队列的实际应用 76

3.3.1 在算术表达式求值中使用堆栈 76

3.3.2 堆栈与函数递归调用 79

小结 82

习题 83

第4章 串、数组、矩阵 87

4.1 串 87

4.1.1 串的基本知识 87

4.1.2 串的顺序存储实现 88

4.1.3 串的链式存储实现 101

4.2 数组 109

4.2.1 数组简介 109

4.2.2 数组的顺序存储 110

4.3 特殊矩阵及稀疏矩阵 113

4.3.1 特殊矩阵 113

4.3.2 稀疏矩阵 118

小结 126

习题 126

第5章 二叉树 130

5.1 二叉树概述 130

5.1.1 二叉树的基本概念 130

5.1.2 二叉树的性质 134

5.2 二叉树的存储结构 136

5.2.1 二叉树的顺序存储结构 137

5.2.2 二叉树的链式存储结构 138

5.3 遍历二叉树 141

5.3.1 遍历二叉树的含义 141

5.3.2 遍历二叉树的实现 145

5.4 哈夫曼树及哈夫曼编码 153

5.4.1 编码概述 153

5.4.2 哈夫曼树的构造方法 155

5.4.3 哈夫曼树在编码中的应用 159

小结 166

习题 166

第6章 树与森林 169

6.1 树的概述 169

6.1.1 树的定义及特性 169

6.1.2 有关树的常用术语 171

6.2 树、森林和二叉树间的转换 173

6.2.1 树、森林转换到二叉树 174

6.2.2 二叉树转换到树、森林 176

6.3 树的存储结构 177

6.4 树的遍历 181

6.5 判定树 186

小结 189

习题 189

第7章 图 193

7.1 图的概述 193

7.1.1 图的定义 193

7.1.2 有关图的常用术语 194

7.2 图的存储结构 198

7.2.1 邻接矩阵 198

7.2.2 邻接表 200

7.3 图的遍历 203

7.3.1 图的深度优先搜索 203

7.3.2 广度优先搜索 206

7.4 生成树与最小生成树 208

7.4.1 生成树与最小生成树的概念 208

7.4.2 构造最小生成树的算法 209

7.5 最短路径 212

7.5.1 单源最短路径 213

7.5.2 每对顶点间的最短路径 214

7.6 拓扑排序 216

小结 219

习题 219

第8章 查找 223

8.1 查找的基本概念 223

8.2 静态查找算法 224

8.2.1 折半查找 224

8.2.2 分块查找 229

8.3 二叉查找树的动态查找 232

8.3.1 二叉查找树及查找算法 232

8.3.2 二叉查找树的插入与删除 234

8.4 散列及散列表的动态查找 240

8.4.1 散列的概念 240

8.4.2 常用散列函数的构造方法 241

8.4.3 冲突的处理 243

小结 247

习题 248

第9章 排序 251

9.1 排序的基本概念 251

9.2 插入排序 252

9.2.1 直接插入排序 252

9.2.2 折半插入排序 256

9.2.3 表插入排序 257

9.3 交换排序 260

9.3.1 冒泡排序 260

9.3.2 快速排序 263

9.4 选择排序 267

9.4.1 直接选择排序 267

9.4.2 堆排序 269

小结 275

习题 275

参考文献 278