《数据结构教程 C++版》PDF下载

  • 购买积分:10 如何计算积分?
  • 作  者:吉根林,陈波主编;王琼,周俊生,于泠编著
  • 出 版 社:北京:电子工业出版社
  • 出版年份:2009
  • ISBN:9787121080616
  • 页数:231 页
图书介绍:本书是省精品教材的教学成果,全书共分10章,介绍各种常用的数据结构,包括线性表、栈、队列、串、数组、特殊矩阵、广义表、树、二叉树、图等;阐述各种数据结构的基本概念、逻辑关系、存储结构、操作运算及其实现算法;介绍各种常用的查找算法和排序算法,并对各种算法的性能进行分析。

第1章 绪论 1

1.1 数据结构课程的研究内容 1

1.2 基本概念及术语 2

1.3 算法与算法分析 5

1.3.1 算法 5

1.3.2 算法分析 7

本章小结 9

习题1 10

上机实验题1 11

第2章 线性表 12

2.1 线性表的基本概念 12

2.2 线性表的存储结构 12

2.2.1 顺序存储结构 13

2.2.2 链式存储结构 14

2.3 线性表的操作算法 16

2.3.1 顺序表的操作算法 16

2.3.2 链表的操作算法 21

2.4 线性表的应用 29

2.5 顺序表和链表的综合比较 33

本章小结 33

习题2 34

上机实验题2 34

第3章 栈和队列 36

3.1 栈 36

3.1.1 栈的基本概念 36

3.1.2 栈的存储结构 36

3.1.3 栈的操作算法 38

3.1.4 栈的应用 41

3.2 队列 46

3.2.1 队列的基本概念 46

3.2.2 队列的存储结构 47

3.2.3 队列的操作算法 49

3.2.4 队列的应用 51

本章小结 52

习题3 52

上机实验题3 53

第4章 串 54

4.1 串的基本概念 54

4.2 串的存储结构 54

4.2.1 串的顺序存储结构 54

4.2.2 串的链式存储结构 55

4.3 串的操作算法 55

4.3.1 串的基本操作算法 56

4.3.2 串的模式匹配 57

4.3.3 串的应用——文本编辑软件 62

本章小结 63

习题4 63

上机实验题4 64

第5章 数组和特殊矩阵 65

5.1 数组 65

5.1.1 数组的基本概念 65

5.1.2 数组的存储结构 65

5.2 特殊矩阵的压缩存储 66

5.2.1 对称矩阵的压缩存储 67

5.2.2 三角矩阵的压缩存储 67

5.2.3 对角矩阵的压缩存储 68

5.2.4 稀疏矩阵的压缩存储 69

本章小结 74

习题5 74

上机实验题5 74

第6章 广义表 76

6.1 广义表的基本概念 76

6.2 广义表的存储结构 77

6.2.1 广义表中结点的结构 77

6.2.2 广义表的存储结构举例 77

6.3 广义表的操作算法 79

6.3.1 构造算法 79

6.3.2 遍历广义表 80

6.3.3 广义表算法举例 81

本章小结 83

习题6 83

上机实验题6 84

第7章 树和二叉树 85

7.1 树的概念和性质 85

7.1.1 树的定义 85

7.1.2 树的基本术语 86

7.1.3 树的基本性质 87

7.2 二叉树的概念和性质 88

7.2.1 二叉树的定义 88

7.2.2 二叉树的基本性质 89

7.3 二叉树的存储结构 91

7.3.1 二叉树的顺序存储结构 91

7.3.2 二叉树的链式存储结构 92

7.4 二叉树的遍历 95

7.4.1 二叉树遍历的概念 95

7.4.2 二叉树遍历算法 98

7.4.3 二叉树的构造和析构算法 100

7.5 二叉树的其他操作算法 104

7.6 线索二叉树 107

7.6.1 线索二叉树的概念 107

7.6.2 线索二叉树的存储结构 109

7.6.3 线索二叉树的操作算法 109

7.7 树的存储结构与算法 113

7.7.1 树的存储结构 113

7.7.2 树的操作算法 118

7.8 Huffman树与Huffman编码 122

7.8.1 Huffman树的定义 122

7.8.2 Huffman树的构造 123

7.8.3 Huffman编码与译码 126

7.8.4 Huffman树的其他应用——程序设计流程优化 127

7.9 树与等价类 129

7.9.1 等价类问题 129

7.9.2 等价类的实现 129

7.9.3 性能分析与改进 130

本章小结 132

习题7 132

上机实验题7 133

第8章 图 135

8.1 图的基本概念 135

8.1.1 图的定义 135

8.1.2 图的基本术语 136

8.2 图的存储结构 139

8.2.1 邻接矩阵表示法 139

8.2.2 邻接表表示法 142

8.3 图的遍历 144

8.3.1 图的遍历的概念 144

8.3.2 深度优先搜索 145

8.3.3 广度优先搜索 146

8.3.4 图的遍历算法的应用 148

8.4 最小生成树 150

8.4.1 最小生成树的概念及其性质 150

8.4.2 Prim算法 151

8.4.3 Kruskal算法 154

8.5 最短路径 156

8.5.1 最短路径的概念 156

8.5.2 单源最短路径 156

8.5.3 每对顶点之间的最短路径 160

8.6 AOV网与拓扑排序 163

8.6.1 有向无环图与AOV网的概念 163

8.6.2 拓扑排序 164

8.7 AOE网与关键路径 166

8.7.1 AOE网的概念 166

8.7.2 关键路径 167

本章小结 168

习题8 169

上机实验题8 170

第9章 查找 171

9.1 查找的基本概念 171

9.2 顺序表的查找 172

9.2.1 顺序查找 172

9.2.2 折半查找 173

9.2.3 分块查找 176

9.3 树表的查找 177

9.3.1 二叉排序树 177

9.3.2 平衡二叉树 183

9.3.3 B树 185

9.3.4 B+树 190

9.4 Hash查找 191

9.4.1 Hash查找的基本概念 191

9.4.2 Hash表的构造 192

9.4.3 Hash查找算法及分析 196

本章小结 197

习题9 197

上机实验题9 199

第10章 排序 200

10.1 排序的基本概念 200

10.2 冒泡排序 201

10.3 选择排序 202

10.4 插入排序 203

10.4.1 直接插入排序 203

10.4.2 折半插入排序 205

10.5 希尔排序 205

10.6 快速排序 207

10.7 堆排序 209

10.8 归并排序 214

10.8.1 二路归并排序的非递归实现 214

10.8.2 二路归并排序的递归实现 216

10.9 基数排序 217

10.9.1 多关键字排序 217

10.9.2 链式基数排序 218

本章小结 219

习题10 221

上机实验题10 222

附录A 数据结构试题 223

附录B 数据结构课程设计题 230

参考文献 231