《数据结构与算法分析 Java版》PDF下载

  • 购买积分:10 如何计算积分?
  • 作  者:王世民主编;朱建方,孔凡航编著
  • 出 版 社:北京:清华大学出版社
  • 出版年份:2005
  • ISBN:7302110077
  • 页数:234 页
图书介绍:本书以Java语言为基础,讨论了数据结构的线性和非线性结构及其实现,全书以Java语言作为数据结构的算法描述。

目录 1

第1章 数据结构概论 1

1.1 什么是数据结构 1

1.2 数据结构的发展史及其在计算机科学中的地位 5

1.3 基本概念和术语 6

1.4 抽象数据类型和数据结构 7

1.5 学习数据结构的意义 9

1.6.2 变量和对象 11

1.6.1 面向对象的程序设计 11

1.6 Java语言概述 11

1.6.3 流程控制 13

1.6.4 类和修饰符 14

1.7 算法 14

1.7.1 算法及其性质 14

1.7.2 算法描述的分析 15

思考和练习 19

第2章 线性表 22

2.1 线性表类型的定义 22

2.2 线性表的顺序表示和实现 24

2.3.1 单向链表 28

2.3 线性表的链式存储结构 28

2.3.2 单链表的基本运算 31

2.3.3 循环链表 36

2.3.4 双链表 37

2.4 链表应用举例 41

2.5 顺序表和链表的比较 48

思考和练习 48

3.1.1 栈定义及基本概念 52

第3章 栈和队列 52

3.1 栈 52

3.1.2 顺序栈 54

3.1.3 链式栈 56

3.1.4 顺序栈和链式栈的比较 57

3.1.5 栈的应用举例 58

3.2 队列 66

3.2.1 队列定义及基本概念 66

3.2.2 顺序队列 67

3.2.3 链式队列 70

3.2.4 队列的应用 71

思考和练习 76

第4章 数组和广义表 80

4.1 多维数组 80

4.1.1 数组定义 80

4.1.2 数组的存储 81

4.1.3 显示二维数组的内容 82

4.2.1 矩阵的压缩存储 83

4.2 矩阵的存储 83

4.2.2 稀疏矩阵转换为三元组存储 86

4.3 广义表 90

4.3.1 广义表的定义 90

4.3.2 广义表的存储 91

思考和练习 92

第5章 树 95

5.1 树的概念 95

5.1.1 树的定义 95

5.1.2 基本术语 97

5.2 二叉树的定义 98

5.3.1 二叉树性质 99

5.3 二叉树的性质 99

5.3.2 二叉树的抽象数据类型 102

5.4 二叉树的存储结构 103

5.4.1 二叉树的顺序存储结构 103

5.4.2 二叉树的链接存储结构 104

5.4.3 二叉树的实现举例 105

5.5 二叉树的遍历 110

5.5.1 二叉树的前序遍历 111

5.5.3 二叉树的后序遍历 112

5.5.2 二叉树的中序遍历 112

5.5.4 二叉树的层次遍历 113

5.6 线索二叉树 114

5.6.1 二叉树的线索化 114

5.6.2 线索二叉树上的运算 116

5.7 树和二叉树的转换及树的存储结构 118

5.7.1 树转换为二叉树 119

5.7.2 二叉树还原为树 120

5.7.4 树的遍历 121

5.7.3 森林转换为二叉树 121

5.7.5 森林的遍历 122

5.7.6 树的存储结构 123

5.8 哈夫曼树及其应用 124

5.8.1 哈夫曼树的基本概念 125

5.8.2 哈夫曼树在编码问题中的应用 126

思考和练习 128

6.1 图的基本概念 131

6.1.1 图的定义 131

第6章 图 131

6.1.2 常用术语 132

6.2 图的存储结构 135

6.2.1 邻接矩阵表示法 135

6.2.2 邻接表表示法 136

6.2.3 关联矩阵 138

6.3 图的遍历 138

6.3.1 深度优先搜索遍历 138

6.3.2 广度优先搜索遍历 141

6.4 最小生成树 142

6.4.1 生成树 143

6.4.2 最小生成树的生成 144

6.5 最短路径和拓扑排序 147

6.5.1 最短路径 148

6.5.2 拓扑排序 151

思考和练习 153

7.1 概述 156

7.1.1 排序的基本概念 156

第7章 排序 156

7.1.2 排序的稳定性 157

7.1.3 排序的分类 157

7.1.4 排序算法分析 158

7.2 插入排序 158

7.2.1 直接插入排序 158

7.2.2 希尔排序 161

7.3 交换排序 164

7.3.1 冒泡排序 164

7.3.2 快速排序 168

7.4.1 直接选择排序 172

7.4 选择排序 172

7.4.2 堆排序 175

7.5 归并排序 178

7.6 外部排序 181

7.6.1 辅助存储器的存取 181

7.6.2 外部排序的方法 183

7.7 各种内排序方法的比较和选择 185

思考和练习 186

8.1 基本概念 187

第8章 查找 187

8.2 线性表查找 188

8.2.1 顺序查找 188

8.2.2 二分查找 190

8.2.3 分块查找 194

8.3 二叉排序树 194

8.4 B树 199

8.5 散列技术 205

思考和练习 213

9.1 概述 214

第9章 动态存储管理 214

9.2 内存分配与回收策略 215

9.3 可利用空间的分配方法 216

9.4 存储紧缩 221

思考和练习 222

第10章 文件管理 223

10.1 文件的基本概念 223

10.1.1 文件定义 223

10.1.2 文件逻辑结构及操作 224

10.2.1 顺序文件 225

10.2 文件的分类 225

10.2.2 索引文件 226

10.2.3 直接存取文件(散列文件) 229

10.2.4 多关键字文件 229

10.3 文件的存储 231

10.3.1 磁盘 231

10.3.2 磁带 232

思考和练习 233

参考文献 234