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

数据结构PDF电子书下载

工业技术

  • 电子书积分:11 积分如何计算积分?
  • 作 者:冯俊编著
  • 出 版 社:北京:清华大学出版社
  • 出版年份:2007
  • ISBN:7302156034
  • 页数:278 页
图书介绍:本书介绍数据结构的基础知识,包括线性表,栈与队列,图与网络,查找与排序等。
《数据结构》目录

第1章 绪论 1

1.1 数据结构 1

1.1.1 学习数据结构的重要性 1

1.1.2 什么是数据结构 3

1.1.3 数据的逻辑结构 5

1.1.4 数据的存储结构 9

1.1.5 数据的运算 10

1.2 算法 11

1.2.1 什么是算法 11

1.2.2 算法的描述 12

1.2.3 算法设计 14

1.2.4 算法设计的要求 15

1.2.5 算法分析 16

1.3 程序、程序设计与程序设计方法学 17

1.3.1 程序 17

1.3.2 程序设计 18

1.3.3 程序设计方法学 19

1.4 课程设计相关知识 20

1.4.1 课程设计目的与内涵 21

1.4.2 课程设计步骤 21

1.4.3 课程设计报告规范 22

课后练习与课程设计 22

第2章 线性表 24

2.1 顺序表 24

2.1.1 向量的顺序存储表示 24

2.1.2 向量的运算 25

2.1.3 举例 27

2.1.4 不等长结点的索引表示——目录表 28

2.2 链表 29

2.2.1 指针与指针对象 29

2.2.2 单链表 32

2.2.3 线性表的两种存储比较 36

2.2.4 可利用空间表及其管理 36

2.3 线性表的其他链接存储表示 38

2.3.1 循环链表 38

2.3.2 双向链表 39

2.3.3 静态链表 41

2.4 课程设计相关知识与应用示例 43

2.4.1 算法设计中的常用方法 43

2.4.2 一元多项式相乘 43

课后练习与课程设计 47

第3章 栈和队列 50

3.1 栈的概念 50

3.2 顺序栈 50

3.2.1 顺序栈的存储表示 50

3.2.2 顺序栈的基本运算及其实现 51

3.3 链接栈 52

3.3.1 链接栈的存储表示 52

3.3.2 链接栈的基本运算及其实现 53

3.4 栈的应用举例 54

3.4.1 数制转换 54

3.4.2 表达式求值 55

3.5 队列的概念 59

3.6 顺序队列 59

3.6.1 顺序队列的存储表示 59

3.6.2 顺序队列的基本运算及其实现 60

3.7 链接队列 62

3.7.1 链接队列的存储表示 62

3.7.2 链接队列的基本运算及其实现 63

3.8 随机事件模拟 64

3.9 课程设计相关知识与应用示例 67

3.9.1 递归的概念 67

3.9.2 递归过程设计 69

3.9.3 递归过程与非递归过程 69

课后练习与课程设计 71

第4章 几种特殊线性表 75

4.1 串 75

4.1.1 串的基本概念 75

4.1.2 串的存储表示 76

4.1.3 串的运算及其实现 79

4.2 数组 80

4.2.1 数组的概念 81

4.2.2 数组的顺序存储表示 81

4.3 矩阵 82

4.3.1 对称矩阵的压缩存储 83

4.3.2 对角矩阵的压缩存储 83

4.3.3 稀疏矩阵的三元组顺序表存储表示 85

4.3.4 稀疏矩阵的十字链表存储表示 86

4.3.5 稀疏矩阵的转置运算 86

4.3.6 稀疏矩阵的插入运算 88

4.4 广义表 90

4.4.1 广义表的基本概念与逻辑结构 90

4.4.2 广义表的存储表示 91

4.4.3 广义表的运算 91

4.4.4 多元多项式的存储表示 93

4.5 课程设计相关知识与应用示例 94

4.5.1 梵天塔问题 94

4.5.2 再谈递归过程设计 96

4.5.3 求广义表的深度 96

课后练习与课程设计 98

第5章 内排序 102

5.1 排序的基本概念 102

5.2 直接插入排序 103

5.3 直接选择排序 104

5.4 冒泡排序 106

5.5 希尔排序 107

5.6 快速排序 109

5.7 归并排序 113

5.7.1 排序文件的归并 113

5.7.2 2-路归并排序 114

5.8 基数排序 116

5.9 各种排序方法的比较 120

5.10 课程设计相关知识与应用示例 122

5.10.1 自顶向下设计技术与方法 122

5.10.2 逐步求精设计技术与方法 123

5.10.3 积木游戏 124

课后练习与课程设计 126

第6章 树和二叉树 129

6.1 树的基本概念 129

6.2 树的存储结构 131

6.2.1 树的标准形式存储结构 131

6.2.2 树的逆形式存储结构 132

6.2.3 树的扩充标准形式存储结构 133

6.2.4 树的双亲数组存储结构 134

6.2.5 树的孩子链表存储结构 134

6.2.6 树的三重链表存储结构 136

6.3 树的遍历和树的线性表示 137

6.3.1 树的前序遍历 137

6.3.2 树的后序遍历 139

6.3.3 树的层次遍历 140

6.3.4 树的线性表示 142

6.4 二叉树 143

6.4.1 二叉树的定义 143

6.4.2 满二叉树和完全二叉树 143

6.4.3 二叉树的性质 144

6.4.4 二叉树与树(或森林)之间的转换 145

6.4.5 二叉树的存储表示 147

6.5 二叉树的遍历 151

6.5.1 二叉树的遍历 151

6.5.2 由遍历序列构造二叉树 154

6.5.3 基于二叉树遍历操作的算法举例 155

6.6 线索二叉树 158

6.6.1 线索二叉树 158

6.6.2 线索二叉树的利用 159

6.6.3 二叉树的线索化 162

6.7 哈夫曼树及其应用 163

6.7.1 二叉树的路径长度和带权路径长度 163

6.7.2 哈夫曼树和哈夫曼算法 165

6.7.3 哈夫曼树的应用 167

6.8 课程设计相关知识与应用示例 171

6.8.1 模块化设计技术与方法 171

6.8.2 八皇后问题 174

课后练习与课程设计 180

第7章 图 184

7.1 图的基本概念 184

7.2 图的存储结构 187

7.2.1 邻接矩阵 187

7.2.2 邻接表 189

7.2.3 无向图的多重邻接表 192

7.3 图的遍历 192

7.3.1 深度优先搜索法 193

7.3.2 广度优先搜索法 194

7.3.3 求图的(强)连通分量 196

7.4 生成树与最小生成树 196

7.4.1 生成树的概念 196

7.4.2 最小生成树 197

7.5 最短路径 201

7.5.1 单源最短路径 201

7.5.2 每一对顶点间的最短路径 203

7.6 拓扑排序 207

7.6.1 AOV网 207

7.6.2 拓扑排序 208

7.7 关键路径 210

7.7.1 AOE网 210

7.7.2 关键路径 210

7.8 课程设计相关知识与应用示例 214

7.8.1 试探和回溯 214

7.8.2 递推算法 215

7.8.3 骑士游历问题 215

课后练习与课程设计 219

第8章 查找 223

8.1 线性表的查找 223

8.1.1 顺序查找 223

8.1.2 折半查找 224

8.1.3 分块查找 225

8.2 树型结构的查找 226

8.2.1 二叉排序树 226

8.2.2 平衡查找树 231

8.2.3 B树和B+树 237

8.2.4 堆排序 242

8.3 哈希表及其查找 244

8.3.1 哈希表 244

8.3.2 哈希函数的构造方法 245

8.3.3 解决冲突的方法 248

8.3.4 哈希表的查找 249

8.4 课程设计相关知识与应用示例 252

8.4.1 贪心算法 252

8.4.2 状态树 252

课后练习与课程设计 255

第9章 文件与外部排序 258

9.1 文件概述 258

9.2 文件组织 259

9.2.1 顺序文件 259

9.2.2 索引文件 260

9.2.3 哈希文件 262

9.2.4 多关键字文件 263

9.3 外部排序 265

9.3.1 2-路平衡归并排序法 265

9.3.2 多路平衡归并排序法 266

9.3.3 置换-选择排序 267

9.3.4 最优归并树 272

9.4 课程设计相关知识与应用示例 273

9.4.1 抽象数据类型 273

9.4.2 数据结构课程设计示例 274

课后练习与课程设计 276

参考文献 278

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