《数据结构》PDF下载

  • 购买积分:11 如何计算积分?
  • 作  者:李强,刘晓英主编
  • 出 版 社:北京:北京师范大学出版社
  • 出版年份:2014
  • ISBN:9787303172177
  • 页数:282 页
图书介绍:数据结构是设计与实现编译程序、操作系统、数据库系统及其它系统程序和大型应用程序的重要基础,是介于数学,计算机硬件,软件之间的一门核心课程,是计算机学科中一门综合性的专业基础课。内容包括软件设计中常用的数据结构及其运算,其中线性表、栈、队列等几种基本的数据结构及其存储结构和运算与实现是重点内容,而复杂数据结构的运算方法是其中的难点。本书全面、系统地介绍了各种类型的数据结构及其查找、排序的各种方法,以及递归技术等,在介绍各项内容的同时,还涉及到算法设计与分析的基本技术等内容。概念清楚,内容及习题丰富,详略得当,既便于开展各层次的教学,又便于读者自学。本书可作为高职高专院校计算机及相关专业的教材,也可以供从事计算机工程与应用的科技工作者参考。

第1章 概论 1

1.1 什么是数据结构 1

1.1.1 为什么要学习数据结构 2

1.1.2 数据结构课程的内容 4

1.2 基本概念和术语 5

1.2.1 数据 5

1.2.2 数据元素 6

1.2.3 数据对象 6

1.2.4 数据结构 6

1.3 算法与性能分析 8

1.3.1 算法概念及特点 8

1.3.2 算法的设计要求 9

1.3.3 算法的性能分析 10

习题1 13

第2章 线性表 15

2.1 线性表的定义及基本运算 15

2.1.1 线性表的定义与逻辑结构 15

2.1.2 线性表的基本运算 16

2.2 线性表的顺序存储结构及其算法实现 17

2.2.1 线性表的顺序存储结构 17

2.2.2 顺序表的基本运算 18

2.3 线性表的链式存储结构及其算法实现 22

2.3.1 单链表 22

2.3.2 双向链表 27

2.3.3 循环链表 29

2.4 顺序表和链表的比较 30

2.5 线性表的应用举例和分析 31

习题2 34

真题在线2 37

第3章 栈和队列 39

3.1 栈 39

3.1.1 栈的概念及基本运算 39

3.1.2 栈的顺序存储结构及其算法实现 40

3.1.3 栈的链式存储结构及其算法实现 42

3.2 队列 44

3.2.1 队列的概念及基本运算 44

3.2.2 队列的顺序存储结构及其算法实现 45

3.2.3 队列的链式存储结构及其算法实现 49

3.3 栈和队列的应用举例和分析 50

3.3.1 栈的应用实例 50

3.3.2 队列的应用实例 55

习题3 56

真题在线3 59

第4章 串 65

4.1 串的定义及基本运算 65

4.1.1 串的基本概念及术语 65

4.1.2 串的基本算法实现 66

4.2 串的存储结构及其算法实现 67

4.2.1 顺序串 67

4.2.2 链串 69

4.3 串的应用举例——串的模式匹配 72

习题4 74

真题在线4 75

第5章 数组与广义表 82

5.1 数组 82

5.1.1 数组的定义及基本运算 82

5.1.2 数组的顺序存储结构 82

5.1.3 数组的应用举例 84

5.2 矩阵的压缩存储 86

5.2.1 对称矩阵 86

5.2.2 三角矩阵 86

5.2.3 对角矩阵 87

5.3 稀疏矩阵 88

5.3.1 稀疏矩阵的三元组顺序表 88

5.3.2 稀疏矩阵的十字链表存储结构 90

5.4 广义表 91

5.4.1 广义表的概念 91

5.4.2 广义表的存储结构 92

5.4.3 广义表的基本运算 93

习题5 94

真题在线5 96

第6章 树 100

6.1 树的定义及基本运算 102

6.1.1 树的递归定义 102

6.1.2 树的表示形式 102

6.1.3 树的相关术语 104

6.1.4 树形结构的逻辑特征 106

6.1.5 树的抽象数据类型及基本运算 106

6.2 二叉树 108

6.2.1 二叉树的定义 108

6.2.2 二叉树的性质 109

6.2.3 二叉树的存储结构 113

6.3 二叉树的遍历 117

6.3.1 二叉树遍历的方法 117

6.3.2 复杂度分析 123

6.4 线索二叉树 126

6.4.1 基本概念 126

6.4.2 二叉树的线索化 127

6.4.3 线索二叉树中的运算 129

6.5 树和森林 131

6.5.1 树的存储结构 131

6.5.2 树、森林与二叉树的转换 134

6.5.3 树与森林的遍历 137

6.6 哈夫曼树及其应用 139

6.6.1 哈夫曼树的概念 139

6.6.2 哈夫曼树的应用 141

习题6 145

真题在线6 150

第7章 图 155

7.1 图的定义及基本操作 155

7.1.1 图的定义及分类 155

7.1.2 图的基本操作 156

7.2 图的存储结构 157

7.2.1 邻接矩阵存储表示及其算法实现 158

7.2.2 邻接链表存储表示及其算法实现 160

7.3 图的遍历 164

7.3.1 深度优先搜索算法 164

7.3.2 广度优先搜索算法 166

7.4 图的连通性、生成树和最小生成树 168

7.4.1 图的连通性 168

7.4.2 生成树 169

7.4.3 最小生成树 171

7.5 图的应用 175

7.5.1 最短路径问题 175

7.5.2 拓扑排序和关键路径 179

习题7 184

真题在线7 187

第8章 查找 189

8.1 查找的基本概念 189

8.2 静态查找表 191

8.2.1 顺序查找 191

8.2.2 折半查找 193

8.2.3 分块查找 195

8.3 动态查找表 198

8.3.1 二叉排序树 198

8.3.2 平衡二叉树 206

8.3.3 B—树用于外部查找 210

8.4 哈希表 212

8.4.1 哈希表的定义 212

8.4.2 哈希函数的构造方法 213

8.4.3 处理冲突的方法 216

8.4.4 哈希表的查找与分析 219

习题8 222

真题在线8 225

第9章 排序 230

9.1 基本概念 230

9.2 插入排序 232

9.2.1 直接插入排序 232

9.2.2 希尔排序 234

9.3 交换排序 237

9.3.1 冒泡排序 237

9.3.2 快速排序 239

9.4 选择排序 242

9.4.1 直接选择排序 242

9.4.2 堆排序 244

9.5 归并排序 250

9.6 基数排序 252

9.7 各种排序算法的比较讨论 254

习题9 255

真题在线9 257

附录 参考答案 259

参考文献 282