当前位置:首页 > 工业技术
算法与数据结构  第2版
算法与数据结构  第2版

算法与数据结构 第2版PDF电子书下载

工业技术

  • 电子书积分:11 积分如何计算积分?
  • 作 者:宁正元,赖贤伟编著
  • 出 版 社:北京:清华大学出版社
  • 出版年份:2012
  • ISBN:9787302274926
  • 页数:261 页
图书介绍:本书是针对应用型本科特点和需求编写的课程教材,它系统地各种常用的数据结构的有关知识和各种基本的检索排序算法。
《算法与数据结构 第2版》目录

第1章 算法与程序 1

1.1 算法的基本概念 1

1.1.1 什么是算法 1

1.1.2 算法的基本特性 2

1.2 算法的表示 3

1.2.1 自然语言表示 3

1.2.2 流程图表示 3

1.2.3 N-S图表示 4

1.2.4 伪代码表示 4

1.2.5 程序语言表示 5

1.3 算法的设计与评价 6

1.3.1 评价算法的标准 6

1.3.2 算法的环路复杂度 7

1.3.3 算法的时空效率 8

1.3.4 常见的算法设计方法 11

1.4 算法与程序 14

1.4.1 程序的基本概念 14

1.4.2 问题求解与实现策略 14

1.4.3 程序调试与查错策略 16

1.4.4 程序设计方法概述 17

习题1 21

第2章 常用数据结构 23

2.1 数据类型与数据结构 23

2.1.1 数据、数据元素与数据类型 23

2.1.2 数据结构的基本概念 25

2.1.3 抽象数据类型 27

2.2 数组 29

2.2.1 数组及其运算 29

2.2.2 数组的顺序存储结构 30

2.2.3 特殊矩阵的压缩存储 31

2.3 串 34

2.3.1 串的基本概念 34

2.3.2 串的定长顺序存储及运算实现 35

2.3.3 模式匹配 38

2.3.4 串的堆式动态存储及运算实现 43

2.3.5 汉字串 46

习题2 49

上机实验题 51

第3章 简单数据结构 52

3.1 顺序表 52

3.1.1 线性表的基本概念 52

3.1.2 线性表的顺序存储结构——顺序表 53

3.1.3 顺序表上的基本运算 54

3.2 链表 58

3.2.1 线性表的链式存储结构——链表 58

3.2.2 单链表上的基本运算 60

3.2.3 循环链表和双向链表 65

3.2.4 线性表应用举例——一元多项式相加问题 67

3.3 栈 69

3.3.1 栈的概念及运算 69

3.3.2 顺序栈及运算实现 69

3.3.3 链栈及运算实现 72

3.3.4 栈的应用举例——递归的实现 74

3.4 队列 76

3.4.1 队列的概念及其运算 76

3.4.2 顺序队列及运算实现 77

3.4.3 链队列及运算实现 80

3.4.4 队列的应用举例——I/O缓冲区管理及其他 82

3.5 广义表 84

3.5.1 广义表的概念 84

3.5.2 广义表的存储结构及运算实现 85

3.5.3 广义表的应用——m元多项式的表示 87

习题3 89

上机实验题 92

第4章 树与二叉树 93

4.1 树的基本概念 93

4.1.1 树的定义及表示 93

4.1.2 树的常用术语及运算 94

4.2 二叉树 96

4.2.1 二叉树的概念 96

4.2.2 二叉树的性质 97

4.2.3 二叉树的存储结构 98

4.2.4 二叉树的简单运算实现 101

4.3 二叉树的遍历 102

4.3.1 遍历二叉树的递归算法 102

4.3.2 遍历二叉树的非递归算法 104

4.3.3 遍历序列与二叉树的复原 108

4.3.4 基于遍历的几种二叉树运算的实现和应用举例 110

4.4 线索二叉树 111

4.4.1 线索二叉树的概念 111

4.4.2 线索二叉树的构造算法 113

4.4.3 线索二叉树上的运算实现 114

4.5 树和森林 115

4.5.1 树和森林的存储结构 116

4.5.2 树和森林与二叉树之间的转换 117

4.5.3 树和森林的遍历 119

4.5.4 树的应用举例——判定树 120

4.6 哈夫曼树 121

4.6.1 哈夫曼树的概念及其构造算法 121

4.6.2 哈夫曼树的应用——哈夫曼编码 124

习题4 125

上机实验题 128

第5章 图与网 129

5.1 图与网的基本概念 129

5.1.1 图与网的定义 129

5.1.2 图的相关术语 130

5.2 图与网的存储结构 132

5.2.1 邻接矩阵 132

5.2.2 邻接表与逆邻接表 133

5.2.3 邻接多重表 135

5.3 图的遍历 136

5.3.1 深度优先搜索遍历 136

5.3.2 广度优先搜索遍历 138

5.3.3 图的遍历应用举例——图的连通性与生成树 139

5.4 无向连通网的最小生成树 140

5.4.1 最小生成树的概念 140

5.4.2 Prim算法 141

5.4.3 Kruskal算法 143

5.5 有向网的最短路径 144

5.5.1 单源最短路径 144

5.5.2 所有顶点对之间的最短路径 146

5.6 有向无环图及其应用 148

5.6.1 有向无环图的概念 148

5.6.2 AOV网与拓扑排序 150

5.6.3 AOE网与关键路径 154

习题5 159

上机实验题 161

第6章 数据结构的程序实现 162

6.1 基本的实现策略 162

6.1.1 简单数据结构的程序实现 162

6.1.2 构造型数据结构的程序实现 163

6.1.3 数据结构的链式实现 163

6.1.4 数据结构的数组实现 163

6.2 动态结构的静态实现 163

6.2.1 静态链表 164

6.2.2 二叉树的静态二叉链表表示法 164

6.2.3 树和森林的双亲表示法 165

6.2.4 哈夫曼算法的静态实现 166

6.3 大批量数据的组织策略 170

6.3.1 文件的组织 170

6.3.2 数据库技术 177

6.4 数据结构在问题建模中的应用 179

6.4.1 Josephus问题 180

6.4.2 教务管理与二分图 182

6.4.3 学籍管理系统中的数据组织 185

习题6 190

上机实验题 191

第7章 检索及基本算法 192

7.1 检索的概念 192

7.2 线性表的检索 194

7.2.1 顺序检索 194

7.2.2 二分法检索 195

7.2.3 黄金分割点检索 198

7.2.4 精算点检索 200

7.2.5 分块检索 202

7.3 树表的检索 204

7.3.1 二叉检索树 204

7.3.2 二叉检索树的平衡性调整 211

7.3.3 B树和B+树 214

7.4 哈希检索 217

7.4.1 哈希检索与哈希表 217

7.4.2 哈希函数的构造方法 218

7.4.3 地址冲突的消解策略 220

7.4.4 哈希表的检索算法及性能分析 222

习题7 224

上机实验题 226

第8章 排序及基本算法 228

8.1 排序的基本概念 228

8.2 插入排序 229

8.2.1 直接插入排序 230

8.2.2 希尔排序 231

8.2.3 其他插入排序简介 234

8.3 交换排序 237

8.3.1 冒泡排序 237

8.3.2 快速排序 238

8.4 选择排序 241

8.4.1 直接选择排序 241

8.4.2 树型选择排序 242

8.4.3 堆排序 243

8.5 归并排序 247

8.5.1 归并相邻两个有序序列 248

8.5.2 二路归并排序的递归算法 249

8.5.3 二路归并排序的非递归算法 249

8.6 基数排序 250

8.6.1 多关键字排序 250

8.6.2 链式基数排序 251

8.7 各种内部排序方法的比较和选择 254

8.8 外部排序简介 256

习题8 258

上机实验题 260

参考文献 261

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