《数据结构教程》PDF下载

  • 购买积分:11 如何计算积分?
  • 作  者:付婷婷,王志海,张磊编著
  • 出 版 社:北京:北京邮电大学出版社
  • 出版年份:2019
  • ISBN:9787563558797
  • 页数:300 页
图书介绍:

第1章 绪论 1

1.1 数据结构的必要性 1

1.1.1 数值计算 1

1.1.2 非数值计算 3

1.1.3 数据结构的作用和地位 6

1.2 基本概念和术语 6

1.3 算法和算法分析 8

1.3.1 算法 8

1.3.2 算法设计的要求 8

1.3.3 算法效率的度量 8

1.3.4 算法的存储空间需求 9

第2章 线性表 10

2.1 线性表的概念和抽象数据类型 10

2.1.1 线性表的概念 10

2.1.2 线性表的抽象数据类型定义 11

2.2 线性表的顺序表示和实现 12

2.2.1 顺序表的定义 12

2.2.2 顺序表的操作及应用 13

2.3 线性表的链式表示和实现 19

2.3.1 线性链表 19

2.3.2 线性链表的综合操作 28

2.3.3 双循环链表简介 39

第3章 栈和队列 46

3.1 栈及其基本运算 46

3.1.1 栈的基本概念 46

3.1.2 栈的抽象数据类型定义 47

3.2 栈类型的实现 48

3.2.1 栈的顺序存储结构 48

3.2.2 两个栈共享存储空间 51

3.2.3 栈的链式存储结构 53

3.2.4 顺序栈和链式栈的比较 55

3.3 栈的应用举例 55

3.3.1 数制转换 55

3.3.2 括号匹配的检验 56

3.3.3 行编辑 58

3.3.4 子程序的调用和返回 59

3.3.5 栈与递归的实现 59

3.3.6 汉诺塔 61

3.4 队列及基本运算 63

3.5 队列的实现 65

3.5.1 队列的链式表示和实现——链队列 65

3.5.2 队列的顺序表示和实现——循环队列 68

3.6 队列的应用举例 72

第4章 串 74

4.1 串类型的定义 74

4.1.1 串的概念 74

4.1.2 串的输入和输出 74

4.1.3 串的基本操作 75

4.2 串的存储表示和操作算法 77

4.2.1 串的顺序存储结构 77

4.2.2 串的堆存储结构——堆串 82

4.2.3 串的块链存储结构——块链串 88

4.3 串的模式匹配算法 100

4.3.1 朴素字符串匹配算法 100

4.3.2 KMP算法 101

第5章 数组和广义表 108

5.1 数组的定义 108

5.1.1 数组的基本概念 108

5.1.2 数组的抽象数据类型定义 110

5.2 数组的顺序表示和实现 110

5.2.1 数组的顺序存储方式 110

5.2.2 多维数组的寻址方式 111

5.2.3 数组的基本操作 112

5.3 矩阵的压缩存储 115

5.3.1 特殊矩阵 115

5.3.2 稀疏矩阵 119

5.4 广义表的定义 125

5.4.1 广义表的图形表示 125

5.4.2 广义表的主要特性 125

5.4.3 广义表的主要操作 126

5.4.4 广义表的抽象数据类型 126

5.5 广义表的存储结构 126

5.6 m元多项式的表示 128

5.7 广义表的递归算法 130

5.7.1 求广义表的深度 130

5.7.2 复制广义表 132

5.7.3 建立广义表的存储结构 133

第6章 树和二叉树 135

6.1 树的定义和基本术语 135

6.2 二叉树 137

6.2.1 二叉树的定义 138

6.2.2 二叉树的性质 140

6.2.3 二叉树的存储结构 141

6.3 遍历二叉树和线索二叉树 143

6.3.1 遍历二叉树的几种方法 143

6.3.2 二叉树的创建及遍历 144

6.3.3 线索二叉树 147

6.4 树和森林 158

6.4.1 树的存储结构 158

6.4.2 森林与二叉树的转换 162

6.4.3 树和森林的遍历 163

6.5 哈夫曼树及其应用 164

第7章 图 167

7.1 图的定义和术语 167

7.1.1 图的抽象数据类型定义 167

7.1.2 图的定义 168

7.1.3 图的基本术语 169

7.2 图的存储结构 171

7.2.1 邻接矩阵 171

7.2.2 邻接表 183

7.2.3 十字邻接表 194

7.2.4 邻接多重表 195

7.3 图的遍历 195

7.3.1 深度优先遍历 195

7.3.2 广度优先遍历 196

7.4 图的连通性问题 200

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

7.4.2 最小生成树 205

7.5 最短路径 214

7.5.1 最短路径的概念 214

7.5.2 从一顶点到其余各顶点的最短路径 215

7.5.3 每对顶点间的最短路径 219

第8章 查找 225

8.1 静态查找表 226

8.1.1 静态查找表的抽象数据类型 226

8.1.2 顺序表的查找 227

8.1.3 折半查找 228

8.1.4 分块查找 230

8.2 动态查找表 233

8.2.1 动态查找的抽象数据类型 233

8.2.2 二叉排序树及其查找过程 234

8.2.3 二叉排序树删除结点 239

8.2.4 平衡二叉树 246

8.2.5 B—树 258

8.3 哈希表 265

8.3.1 哈希表的定义 265

8.3.2 哈希函数的构造方法 267

8.3.3 处理冲突的方法 270

第9章 内部排序 273

9.1 排序的基本概念 273

9.2 插入排序 275

9.2.1 直接插入排序 275

9.2.2 希尔排序 278

9.3 交换排序 282

9.4 选择排序 286

9.5 归并排序和基数排序 290

9.5.1 归并排序 290

9.5.2 基数排序 294

参考文献 300