当前位置:首页 > 工业技术
数据结构
数据结构

数据结构PDF电子书下载

工业技术

  • 电子书积分:11 积分如何计算积分?
  • 作 者:刘振鹏,罗文劼,石强编著
  • 出 版 社:北京:中国铁道出版社
  • 出版年份:2010
  • ISBN:9787113110253
  • 页数:258 页
图书介绍:本书为普通高等教育“十一五”国家级规划教材。本书根据教育部高等学校计算机科学与技术教学指导委员会关于“数据结构”课程的指导性大纲进行编写。介绍各种最常用的数据结构,包括线性表、栈、队列等。
《数据结构》目录

第1章 绪论 1

1.1 数据结构的概念 1

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

1.1.2 相关概念和术语 4

1.1.3 数据结构课程的内容 6

1.2 数据类型和抽象数据类型 7

1.2.1 数据类型 7

1.2.2 抽象数据类型 8

1.3 算法和算法分析 9

1.3.1 算法特性 9

1.3.2 算法描述 10

1.3.3 算法性能分析与度量 10

小结 12

习题 12

第2章 线性表 14

2.1 线性表的逻辑结构 14

2.1.1 线性表的定义 14

2.1.2 线性表的基本操作 14

2.2 线性表的顺序存储及运算实现 16

2.2.1 顺序表 16

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

2.2.3 顺序表应用举例 21

2.3 线性表的链式存储和运算实现 23

2.3.1 单链表 24

2.3.2 单链表上基本运算的实现 25

2.3.3 循环链表 31

2.3.4 双向链表 32

2.3.5 静态链表 33

2.3.6 间接寻址 35

2.3.7 单链表应用举例 35

2.4 顺序表和链表的比较 37

小结 38

习题 38

第3章 栈和队列 40

3.1 栈 40

3.1.1 栈的定义及基本运算 40

3.1.2 栈的存储实现和运算实现 41

3.1.3 栈的应用举例 44

3.2 队列 54

3.2.1 队列的定义及基本运算 54

3.2.2 队列的存储实现及运算实现 54

3.2.3 队列应用举例 60

小结 62

习题 62

第4章 串 64

4.1 串及其基本运算 64

4.1.1 串的基本概念 64

4.1.2 串的基本运算 64

4.2 串的定长顺序存储及基本运算 65

4.2.1 串的定长顺序存储 65

4.2.2 定长顺序串的基本运算 66

4.2.3 模式匹配 67

4.3 串的堆存储结构 73

4.3.1 串名的存储映像 73

4.3.2 堆存储结构 74

4.3.3 基于堆结构的串的基本运算实现 74

小结 76

习题 76

第5章 数组和广义表 77

5.1 数组 77

5.1.1 一维数组 77

5.1.2 多维数组 77

5.1.3 数组的内存映像 78

5.2 特殊矩阵的压缩存储 81

5.2.1 对称矩阵 81

5.2.2 三角矩阵 82

5.2.3 带状矩阵 83

5.3 稀疏矩阵 84

5.3.1 稀疏矩阵的三元组表存储 84

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

5.4 广义表 94

5.4.1 广义表的定义和基本运算 94

5.4.2 广义表的存储 96

5.4.3 广义表基本操作的实现 98

小结 101

习题 102

第6章 二叉树 104

6.1 二叉树的定义与性质 104

6.1.1 二叉树的基本概念 104

6.1.2 二叉树的主要性质 106

6.2 二叉树的基本操作与存储实现 107

6.2.1 二叉树的存储 107

6.2.2 二叉树的基本操作及实现 110

6.3 二叉树的遍历 112

6.3.1 二叉树的遍历方法及递归实现 112

6.3.2 二叉树遍历的非递归实现 114

6.3.3 由遍历序列恢复二叉树 117

6.3.4 不用栈的二叉树遍历的非递归方法 119

6.4 线索二叉树 120

6.4.1 线索二叉树的定义及结构 120

6.4.2 线索二叉树的基本操作实现 122

6.5 二叉树的应用举例 127

6.5.1 查找数据元素 127

6.5.2 统计给定二叉树中叶结点的数目 128

6.5.3 创建二叉树的二叉链表存储 128

6.5.4 表达式运算 129

6.6 哈夫曼树 129

6.6.1 问题引入 130

6.6.2 哈夫曼树的基本概念及其构造方法 131

6.6.3 哈夫曼树的构造算法 132

6.6.4 哈夫曼编码 134

小结 137

习题 137

第7章 树与森林 140

7.1 树的概念与表示 140

7.1.1 树的定义及相关术语 140

7.1.2 树的表示 142

7.2 树的基本操作与存储 142

7.2.1 树的基本操作 143

7.2.2 树的存储结构 143

7.3 树、森林与二叉树的转换 146

7.3.1 树转换为二叉树 146

7.3.2 森林转换为二叉树 147

7.3.3 二叉树转换为树和森林 147

7.4 树和森林的遍历 148

7.4.1 树的遍历 148

7.4.2 森林的遍历 149

7.5 树的应用举例 149

7.5.1 判定树 149

7.5.2 集合的表示 151

7.5.3 等价问题 152

小结 153

习题 154

第8章 图 155

8.1 图的基本概念 155

8.1.1 图的定义和术语 155

8.1.2 图的基本操作 158

8.2 图的存储结构 158

8.2.1 邻接矩阵 158

8.2.2 邻接表 160

8.2.3 十字链表 162

8.2.4 邻接多重表 164

8.3 图的遍历 166

8.3.1 深度优先搜索 166

8.3.2 广度优先搜索 168

8.3.3 应用图的遍历判定图的连通性 169

8.3.4 生成树和生成森林 170

8.4 最小生成树 172

8.4.1 最小生成树的概念 172

8.4.2 普里姆(Prim)算法 173

8.4.3 克鲁斯卡尔(Kruskal)算法 176

8.5 最短路径 178

8.5.1 迪杰斯特拉(Dijkstra)算法 178

8.5.2 弗洛伊德(Floyd)算法 182

8.6 拓扑排序与关键路径 183

8.6.1 有向无环图的概念 184

8.6.2 拓扑排序 185

8.6.3 关键路径 189

小结 194

习题 195

第9章 查找 197

9.1 基本概念 197

9.1.1 相关术语 197

9.1.2 查找表结构 198

9.2 静态查找表 199

9.2.1 顺序查找 199

9.2.2 折半查找 200

9.2.3 插值查找和斐波那契查找 203

9.2.4 分块查找 204

9.3 二叉排序树 205

9.3.1 二叉排序树的定义 205

9.3.2 二叉排序树的查找过程 205

9.3.3 二叉排序树的插入操作 206

9.3.4 二叉排序树的删除操作 207

9.4 平衡二叉树 209

9.4.1 平衡二叉树的定义 209

9.4.2 平衡二叉树的平衡化旋转 210

9.4.3 平衡二叉树的插入 212

9.4.4 平衡二叉树的查找性能分析 215

9.5 B树和B+树 216

9.5.1 B树的定义 216

9.5.2 B树的查找 216

9.5.3 B树的插入 218

9.5.4 B树的删除 221

9.5.5 B+树 222

9.6 哈希表查找 223

9.6.1 哈希表与哈希方法 223

9.6.2 常用的哈希函数 224

9.6.3 处理冲突的方法 225

9.6.4 哈希表的查找性能分析 228

小结 229

习题 230

第10章 排序 232

10.1 排序的基本概念 232

10.1.1 相关术语 232

10.1.2 排序的时间开销 233

10.2 插入排序 233

10.2.1 直接插入排序 233

10.2.2 折半插入排序 234

10.2.3 表插入排序 235

10.2.4 希尔排序 237

10.3 交换排序 238

10.3.1 冒泡排序 238

10.3.2 快速排序 239

10.4 选择排序 241

10.4.1 简单选择排序 242

10.4.2 树形选择排序 242

10.4.3 堆排序 243

10.5 归并排序 245

10.6 基数排序 247

10.6.1 多关键码排序 247

10.6.2 链式基数排序 248

10.7 外排序 251

10.7.1 外部排序的方法 251

10.7.2 多路平衡归并的实现 252

小结 255

习题 255

参考文献 258

相关图书
作者其它书籍
返回顶部