《数据结构理论与实践》PDF下载

  • 购买积分:12 如何计算积分?
  • 作  者:奚小玲,敖广武主编
  • 出 版 社:沈阳:东北大学出版社
  • 出版年份:2014
  • ISBN:9787551707367
  • 页数:325 页
图书介绍:本书介绍了各种最常用的数据结构,包括线性表、栈、队列、矩阵的压缩存储、树与二又树、图、查找、排序等。书中阐明各种数据结构的逻辑关系和在计算机中的存储表示,以及在这些数据结构下的运算和实现的算法。本书内容丰富、结构清晰、深入浅出、突出算法,便于教学。适合作为高等院校计算机科学与应用和电子工程等电子信息类专业的教材,也可供相关从事计算机应用的工作者及计算机爱好者自学参考使用。

第1章 绪论 1

1.1 数据结构的重要性 1

1.2 基本概念和术语 5

1.2.1 基本概念 6

1.2.2 数据类型 8

1.3 算法 10

1.3.1 算法特性 11

1.3.2 算法描述 12

1.3.3 算法性能分析与度量 18

习题 20

第2章 线性表 22

2.1 线性表的逻辑结构 22

2.1.1 线性表的定义 22

2.1.2 线性表的基本操作 23

2.2 线性表的顺序存储结构 24

2.2.1 顺序表 24

2.2.2 顺序表上基本运算的实现 25

2.2.3 顺序表应用举例 33

2.3 线性表的链式存储结构 36

2.3.1 单链表 36

2.3.2 单链表上的基本操作 37

2.3.3 循环链表 44

2.3.4 双向链表及双向循环链表 44

2.3.5 链表应用举例 49

2.4 一元多项式的表示及相加 52

2.5 实训 56

习题 66

第3章 栈与队列 68

3.1 栈 68

3.1.1 栈的概念及相关操作 68

3.1.2 栈的顺序存储结构及其基本运算的实现 69

3.1.3 栈的链式存储结构及其基本运算的实现 75

3.2 队列 79

3.2.1 队列的概念和相关操作 79

3.2.2 队列的顺序存储结构及其基本运算的实现 80

3.2.3 队列的链式存储结构及其基本运算的实现 85

3.3 栈和队列的应用 89

3.3.1 栈的应用举例 89

3.3.2 队列的应用举例 96

3.4 实训 102

习题 118

第4章 串和数组 120

4.1 串的基本概念和存储结构 120

4.1.1 基本概念 120

4.1.2 基本运算 121

4.1.3 串的抽象数据类型描述 121

4.1.4 串的存储结构 122

4.2 串基本操作的实现 124

4.2.1 串基本操作 124

4.2.2 串的模式匹配算法 137

4.3 数组的定义和运算 140

4.3.1 数组的概念 140

4.3.2 数组的操作 141

4.4 数组顺序存储结构 141

4.4.1 行优先顺序 141

4.4.2 列优先顺序 141

4.4.3 基本操作在顺序存储上的实现 142

4.4.4 动态数组 144

4.5 矩阵的压缩存储 146

4.5.1 特殊矩阵 146

4.5.2 压缩存储 147

4.5.3 稀疏矩阵 149

4.5.4 广义表 157

4.6 实训 162

习题 168

第5章 树 171

5.1 树 171

5.1.1 树的定义 171

5.1.2 树的逻辑结构 173

5.1.3 树的表示 173

5.2 二叉树 174

5.2.1 二叉树的定义 174

5.2.2 二叉树的性质 176

5.2.3 二叉树的存储结构 177

5.3 二叉树的遍历 179

5.3.1 遍历的定义 179

5.3.2 遍历算法 181

5.3.3 遍历的应用 184

5.4 树和森林 186

5.4.1 树的存储结构 186

5.4.2 森林和二叉树的转换 188

5.4.3 数和森林的遍历 190

5.5 哈夫曼树及其应用 191

5.5.1 最优二叉树(哈夫曼树) 191

5.5.2 哈夫曼编码 193

5.6 实训 196

习题 210

第6章 图 212

6.1 图的定义及术语 212

6.1.1 图的定义 212

6.1.2 图的逻辑结构 215

6.2 图的存储结构 216

6.2.1 邻接矩阵表示法 216

6.2.2 邻接表 218

6.2.3 十字链表 220

6.2.4 邻接多重表 222

6.3 图的遍历 223

6.3.1 深度优先搜索 224

6.3.2 广度优先搜索 225

6.4 最小生成树 226

6.4.1 最小生成树 226

6.4.2 普里姆算法 227

6.4.3 克鲁斯卡尔算法 229

6.5 有向无环图及应用 230

6.5.1 拓扑排序 230

6.5.2 关键路径 233

6.6 最短路径 236

6.6.1 从一个源点到其他各点的最短路径 236

6.6.2 每一对顶点之间的最短路径 238

6.7 实训 240

习题 250

第7章 查找 252

7.1 静态查找 253

7.1.1 顺序表查找 253

7.1.2 二分查找 255

7.1.3 分块查找 258

7.2 动态查找 260

7.2.1 二叉排序树查找 260

7.2.2 二叉排序树的插入 262

7.2.3 二叉排序树的删除 263

7.3 哈希表 264

7.3.1 哈希表 264

7.3.2 哈希函数的构造方法 265

7.3.3 处理冲突的方法 268

7.4 实训 270

习题 275

第8章 排序 276

8.1 插入排序 277

8.1.1 直接插入排序 278

8.1.2 折半插入排序 280

8.1.3 希尔排序 281

8.1.4 应用举例 282

8.2 交换排序 283

8.2.1 冒泡排序 283

8.2.2 快速排序 285

8.3 选择排序 290

8.3.1 直接选择排序 291

8.3.2 树形选择排序 293

8.3.3 堆排序 295

8.3.4 应用举例 301

8.4 归并排序 304

8.4.1 两个有序序列的归并 304

8.4.2 2-路归并排序 305

8.4.3 应用举例 307

8.5 基数排序 308

8.5.1 多关键字排序 308

8.5.2 链式基数排序 311

8.5.3 应用举例 316

8.6 各种排序方法的比较和选择 316

8.6.1 排序方法的比较 316

8.6.2 各种内部排序方法的选择 317

8.7 实训 318

习题 322

参考文献 325