《数据结构与算法简明教程 Java语言版》PDF下载

  • 购买积分:12 如何计算积分?
  • 作  者:叶小平,陈瑛编著
  • 出 版 社:北京:清华大学出版社
  • 出版年份:2016
  • ISBN:9787302439820
  • 页数:330 页
图书介绍:本教材突出Java面向对象特质,注重概念、原理和算法的实际背景引入与线索发展思路,强调重要算法的实例讲解与应用分析,可作为计算机专业必修课教材,同时也适合于与计算机相关专业的选修课以及自学者食用。

第1章 绪论 1

1.1 数据与数据类型 1

1.1.1 数据的基本概念 1

1.1.2 数据项与数据元素 2

1.1.3 数据类型与抽象数据类型 3

1.2 数据逻辑与存储结构 7

1.2.1 数据逻辑结构 7

1.2.2 数据存储结构 8

1.3 数据运算与算法 10

1.3.1 数据运算 10

1.3.2 算法及其基本要求 11

1.3.3 算法设计与分析 12

1.4 “数据结构”课程的地位与教材内容 15

1.4.1 “数据结构”课程的地位 15

1.4.2 本书内容组织 16

本章小结 17

第2章 线性表 21

2.1 线性表概念 21

2.1.1 线性表逻辑结构 21

2.1.2 线性表ADT描述 22

2.2 线性表的顺序存储 24

2.2.1 顺序存储结构 24

2.2.2 顺序表的基本操作 26

2.3 线性表的链式存储 31

2.3.1 单链表概念 31

2.3.2 单链表的基本操作 34

2.3.3 线性表存储结构比较 40

2.4 链式存储其他实现方式 41

2.4.1 循环链表 41

2.4.2 双向链表 43

2.4.3 静态链表 46

2.5 单链表应用及迭代器 47

2.5.1 单链表倒置 47

2.5.2 两个有序链表合并 48

2.5.3 一元多项式计算 49

2.5.4 迭代器 52

本章小结 54

第3章 栈和队列 57

3.1 栈 57

3.1.1 栈基本概念 57

3.1.2 栈的顺序存储 59

3.1.3 栈的链式存储 62

3.2 栈的应用 65

3.2.1 数制转换 65

3.2.2 栈在递归中的应用 66

3.2.3 栈在括号匹配中的应用 74

3.2.4 表达式求值 76

3.2.5 迷宫求解 80

3.3 队列 84

3.3.1 队列基本概念 84

3.3.2 队列的顺序存储 86

3.3.3 队列的链式存储 91

3.4 队列的应用 94

本章小结 98

第4章 数组和串 101

4.1 数组 101

4.1.1 二维数组 101

4.1.2 矩阵的顺序表示与实现 102

4.1.3 特殊矩阵的压缩存储 103

4.1.4 稀疏矩阵的压缩存储 107

4.2 串 114

4.2.1 串及相关概念 115

4.2.2 串的基本操作 115

4.2.3 串的顺序存储 117

4.2.4 串的链式存储 121

4.2.5 串的模式匹配 122

本章小结 129

第5章 树 131

5.1 树结构及相关概念 131

5.1.1 树的基本概念 132

5.1.2 树的相关概念 135

5.2 树的存储 136

5.2.1 父结点表示法存储 136

5.2.2 子结点表示法存储 137

5.2.3 左子/右兄弟结点表示法存储 140

5.3 树的遍历 141

5.3.1 广度优先遍历 141

5.3.2 深度优先遍历 143

本章小结 145

第6章 二叉树及应用 147

6.1 二叉树的概念及性质 147

6.1.1 二叉树及其相关概念 147

6.1.2 二叉树的基本性质 151

6.2 二叉树的存储 152

6.2.1 二叉树的顺序存储 152

6.2.2 二叉树的链式存储 153

6.3 二叉树的遍历 157

6.3.1 先序遍历、中序遍历与后序遍历 157

6.3.2 基于递归遍历算法 158

6.3.3 基于非递归遍历算法 161

6.4 线索二叉树 167

6.4.1 线索与线索二叉树 167

6.4.2 线索二叉树创建 169

6.4.3 线索二叉树操作 170

6.5 Huffman树及其应用 171

6.5.1 编码及分类 172

6.5.2 Huffman树 172

6.5.3 基于顺序存储Huffman树 174

6.5.4 Huffman编码 177

6.6 树与二叉树的转换 180

6.6.1 树转换为二叉树 180

6.6.2 二叉树还原为树 181

6.6.3 森林与二叉树的转换 182

本章小结 183

第7章 图 185

7.1 图的数据结构 185

7.1.1 图的基本概念 185

7.1.2 路径与连通 188

7.2 图的存储 190

7.2.1 基于邻接矩阵存储 190

7.2.2 基于邻接表存储 193

7.3 图的遍历 197

7.3.1 深度优先遍历 197

7.3.2 广度优先遍历 199

7.4 生成树与最小生成树 202

7.4.1 图的生成树 202

7.4.2 无向连通图最小生成树 204

7.5 有向网图的应用 214

7.6 有向无环图的应用 220

7.6.1 AOV网与拓扑排序 221

7.6.2 AOE网与关键路径 224

本章小结 231

第8章 查找 234

8.1 数据查找 234

8.2 基于线性表的查找 236

8.2.1 顺序查找 237

8.2.2 分块查找 238

8.2.3 二分查找 240

8.3 基于二叉树的查找 244

8.3.1 二叉查找树概念 244

8.3.2 基于二叉查找树的查找 245

8.3.3 二叉查找树插入与生成算法 247

8.3.4 二叉查找树删除 249

8.3.5 平衡二叉树 253

8.4 基于散列表的查找 257

8.4.1 常用散列函数构建 258

8.4.2 散列冲突处理 260

本章小结 265

第9章 排序 267

9.1 数据排序 267

9.1.1 排序的基本概念 267

9.1.2 排序算法性能分析 270

9.2 插入排序 271

9.2.1 直接插入排序 271

9.2.2 二分插入排序 275

9.2.3 Shell排序 277

9.3 交换排序 279

9.3.1 冒泡排序 279

9.3.2 快速排序 281

9.4 选择排序 285

9.4.1 直接选择排序 285

9.4.2 堆排序 287

9.5 归并排序 293

9.6 外排序 295

9.6.1 外排序的基本步骤 296

9.6.2 败者树k-路归并算法 297

9.6.3 k-路归并算法实现 298

本章小结 299

第10章 文件 304

10.1 文件及其分类 304

10.1.1 文件概述 304

10.1.2 文件结构与操作 305

10.2 顺序文件 308

10.2.1 顺序文件存储结构 308

10.2.2 顺序存储的实现 308

10.3 索引文件 309

10.3.1 索引表与索引文件 309

10.3.2 ISAM文件 311

10.3.3 VSAM文件 313

10.4 动态索引B-树 314

10.4.1 B-树 315

10.4.2 B+树 321

10.5 散列文件 322

10.6 多关键码文件 324

10.6.1 多重表文件 325

10.6.2 倒排文件 326

本章小结 326

参考文献 329