《数据结构实用教程 Java语言描述》PDF下载

  • 购买积分:12 如何计算积分?
  • 作  者:徐孝凯编著
  • 出 版 社:北京:清华大学出版社
  • 出版年份:2013
  • ISBN:9787302307020
  • 页数:332 页
图书介绍:本书编写风格和内容轮廓大致和正在使用的“数据结构实用教程(第2版)相同,只是算法描述和分析的内容有很大差别。该教材内容大致包括:绪论、集合、线性表、栈和队列、树、树的应用、图、图的应用、排序、查找、文件等11章内容,字数大致45万字。

第1章 绪论 1

1.1 基本概念 1

1.2 算法描述 11

1.3 算法评价 13

第2章 集合 20

2.1 集合的定义和运算 20

2.1.1 集合的定义 20

2.1.2 集合的抽象数据类型 20

2.1.3 集合运算举例 21

2.2 集合的顺序存储结构和操作实现 23

2.3 集合的链接存储结构和操作实现 30

2.3.1 链接存储的概念 30

2.3.2 链接集合类的定义和实现 33

2.4 集合应用举例 39

第3章 线性表 47

3.1 线性表的定义和运算 47

3.1.1 线性表的定义 47

3.1.2 线性表的抽象数据类型 48

3.1.3 线性表运算举例 49

3.2 线性表的顺序存储结构和操作实现 52

3.3 有序线性表的定义和实现 60

3.4 链接存储的一般概念和方法 65

3.5 线性表的链接存储结构和操作实现 70

3.6 有序线性表的链接存储结构和操作实现 76

3.7 线性表应用举例——多项式计算 78

3.7.1 多项式表示与求值 78

3.7.2 两个多项式相加 82

第4章 稀疏矩阵和广义表 86

4.1 稀疏矩阵 86

4.1.1 稀疏矩阵的定义 86

4.1.2 稀疏矩阵的转置运算 88

4.1.3 稀疏矩阵的加法运算 90

4.1.4 使用稀疏矩阵的程序举例 92

4.2 广义表 94

4.2.1 广义表的定义 94

4.2.2 广义表的存储结构 96

4.2.3 广义表类的定义 97

4.2.4 广义表的运算 99

4.2.5 简单程序举例 103

第5章 栈和队列 105

5.1 栈的定义和运算 105

5.2 栈的顺序存储结构和操作实现 106

5.3 栈的链接存储结构和操作实现 110

5.4 栈的简单应用举例 112

5.5 算术表达式的计算 116

5.6 栈与递归 124

5.7 队列 133

5.7.1 队列的定义和运算 133

5.7.2 队列的顺序存储结构和操作实现 134

5.7.3 队列的链接存储结构和操作实现 139

第6章 树和二叉树 141

6.1 树的概念 141

6.1.1 树的定义 141

6.1.2 树的表示 142

6.1.3 树的基本术语 142

6.1.4 树的性质 144

6.2 二叉树 145

6.2.1 二叉树的定义 145

6.2.2 二叉树的性质 145

6.2.3 二叉树的抽象数据类型 147

6.2.4 二叉树的存储结构 148

6.3 二叉树遍历 153

6.4 二叉树的其他运算 156

6.5 调试二叉树算法举例 160

6.6 树的存储结构和运算 161

6.6.1 树的抽象数据类型 161

6.6.2 树的存储结构 162

6.6.3 树的运算 166

6.6.4 调试普通树算法举例 171

第7章 常用二叉树 173

7.1 二叉搜索树 173

7.1.1 二叉搜索树的定义 173

7.1.2 二叉搜索树的抽象数据类型和链接存储类 174

7.1.3 二叉搜索树的运算方法 175

7.2 堆 181

7.2.1 堆的定义 181

7.2.2 堆的接口类 182

7.2.3 堆的存储结构和顺序存储类 182

7.2.4 堆的运算 184

7.3 哈夫曼树 189

7.3.1 基本术语 189

7.3.2 构造哈夫曼树 190

7.3.3 哈夫曼编码 193

7.4 平衡二叉树 195

7.4.1 平衡二叉树的定义 195

7.4.2 平衡二叉树的调整 197

第8章 图 202

8.1 图的概念 202

8.1.1 图的定义 202

8.1.2 图的基本术语 203

8.2 图的存储结构 205

8.2.1 邻接矩阵 205

8.2.2 邻接表 207

8.2.3 边集数组 208

8.3 图的抽象数据类型和接口类 209

8.4 图的邻接矩阵和邻接表存储类 210

8.5 图的遍历 214

8.5.1 深度优先搜索遍历 214

8.5.2 广度优先搜索遍历 217

8.5.3 非连通图的遍历 219

8.6 对图的其他运算的算法 219

第9章 图的应用 231

9.1 图的生成树和最小生成树 231

9.1.1 生成树的概念 231

9.1.2 普里姆算法 233

9.1.3 克鲁斯卡尔算法 237

9.2 最短路径 240

9.2.1 最短路径的概念 240

9.2.2 从一顶点到其余各项点的最短路径 241

9.2.3 每对顶点之间的最短路径 246

9.3 拓扑排序 250

9.3.1 拓扑排序的概念 250

9.3.2 拓扑排序算法 252

9.4 关键路径 256

第10章 查找 264

10.1 查找的基本概念 264

10.2 顺序表查找 265

10.2.1 顺序查找 265

10.2.2 二分查找 267

10.3 索引查找 269

10.3.1 索引的概念 269

10.3.2 索引存储举例 270

10.3.3 索引查找算法 273

10.3.4 分块查找 274

10.4 散列查找 276

10.4.1 散列的概念 276

10.4.2 散列函数 278

10.4.3 处理冲突的方法 280

10.4.4 散列表的运算 284

10.5 B树查找 293

10.5.1 B树的定义 293

10.5.2 B树查找 294

10.5.3 B树的插入 296

10.5.4 B树的删除 299

10.5.5 定义B树的类 302

10.5.6 B+树简介 304

第11章 排序 306

11.1 排序的基本概念 306

11.2 插入排序 308

11.3 选择排序 309

11.3.1 直接选择排序 309

11.3.2 堆排序 310

11.4 交换排序 313

11.4.1 气泡排序 314

11.4.2 快速排序 315

11.5 归并排序 318

11.6 外排序 322

11.6.1 外排序的概念 322

11.6.2 外排序算法 323

参考文献 332