《数据结构 Java语言描述》PDF下载

  • 购买积分:10 如何计算积分?
  • 作  者:库波,曹静主编
  • 出 版 社:北京:北京理工大学出版社
  • 出版年份:2016
  • ISBN:9787564092948
  • 页数:231 页
图书介绍:本书介绍了数据结构的基本概念和基本算法。全书共分为9章,主要内容包括:绪论、线性表、栈和队列、串、数组和广义表、树、图、查找、排序等。各章中所涉及的数据结构与算法均给予了JAVA语言描述(所有程序都运行通过),以便于读者巩固和提高运用JAVA语言进行程序设计的能力与技巧。本书在内容的选取、概念的引入、文字的叙述以及例题和习题的选择等方面,都力求遵循面向应用、逻辑结构简明合理、由浅入深、深入浅出、循序渐进、便于自学的原则,突出其实用性与应用性。本书可作为高等学校计算机专业、电子类专业的学习教材,也可供爱好C语言程序设计的读者自学使用。

项目一 绪论 1

任务一 数据结构的基本概念 1

1.1.1 学习数据结构的原因 1

1.1.2 什么是数据结构 2

1.1.3 基本概念和术语 3

1.1.4 数据类型与抽象数据类型 5

任务二 算法和算法分析简介 7

1.2.1 算法 7

1.2.2 算法的描述 8

1.2.3 算法评价 14

实训 验证哥德巴赫猜想 15

小结 17

习题一 17

项目二 线性表 18

任务一 线性表的定义和基本操作 18

任务二 线性表的顺序存储结构 19

2.2.1 线性表的顺序存储结构 19

2.2.2 线性表在顺序存储结构下的运算 20

任务三 线性表的链式存储结构 25

2.3.1 线性链表 25

2.3.2 循环链表 29

2.3.3 双向链表 30

实训 顺序表和链表的应用 33

小结 35

习题二 35

项目三 栈和队列 37

任务一 栈 37

3.1.1 栈的定义及其运算 37

3.1.2 栈的顺序存储结构 38

3.1.3 栈的链式存储结构 40

任务二 算术表达式求值 42

任务三 队列 45

3.3.1 队列的定义及其运算 46

3.3.2 队列的顺序存储结构 47

3.3.3 队列的链式存储结构 52

3.3.4 其他队列 54

实训 栈和队列的应用 54

小结 57

习题三 57

项目四 串 59

任务一 串的基本概念 59

4.1.1 串的定义 59

4.1.2 主串和子串 59

任务二 串的存储结构 60

4.2.1 串值的存储 60

4.2.2 串名的存储映像 62

任务三 串的基本运算及其实现 62

4.3.1 串的基本运算 62

4.3.2 串的基本运算的实现 63

实训 文本编辑系统 67

小结 70

习题四 70

项目五 多维数组和广义表 72

任务一 多维数组 72

5.1.1 多维数组的概念 72

5.1.2 多维数组在计算机内的存放 73

任务二 多维数组的存储结构 73

5.2.1 行优先顺序 73

5.2.2 列优先顺序 73

任务三 特殊矩阵及其压缩存储 74

5.3.1 特殊矩阵 74

5.3.2 压缩存储 75

任务四 稀疏矩阵 77

5.4.1 稀疏矩阵的存储 77

5.4.2 稀疏矩阵的运算 82

任务五 广义表 89

5.5.1 基本概念 89

5.5.2 存储结构 91

5.5.3 基本运算 92

实训 迷宫问题 94

小结 98

习题五 99

项目六 树 101

任务一 树结构的定义与基本操作 101

6.1.1 树的定义及相关术语 101

6.1.2 树的存储结构 102

6.1.3 树的基本操作 103

任务二 二叉树 103

6.2.1 二叉树的定义与基本操作 103

6.2.2 二叉树的性质 105

6.2.3 二叉树的存储结构 106

6.2.4 树与二叉树的相互转换 110

任务三 遍历二叉树 111

6.3.1 先序遍历 112

6.3.2 中序遍历 113

6.3.3 后序遍历 114

6.3.4 层次遍历 115

任务四 线索二叉树 116

6.4.1 线索二叉树的基本概念 116

6.4.2 中序次序线索化算法 117

任务五 二叉排序树 122

6.5.1 二叉排序树的定义 122

6.5.2 二叉排序树的生成 122

6.5.3 删除二叉排序树上的结点 125

任务六 哈夫曼树和哈夫曼算法 128

6.6.1 哈夫曼树的定义 128

6.6.2 构造哈夫曼树——哈夫曼算法 129

6.6.3 哈夫曼树的应用 130

实训 哈夫曼编码 131

小结 141

习题六 142

项目七 图 143

任务一 基本定义和术语 143

7.1.1 基本定义和术语 143

7.1.2 抽象数据类型 145

任务二 图的存储结构 148

7.2.1 邻接矩阵 148

7.2.2 邻接表 149

任务三 图的遍历 151

7.3.1 深度优先搜索遍历 151

7.3.2 广度优先搜索遍历 154

任务四 最小生成树 156

任务五 最短路径 161

7.5.1 单源点最短路径 162

7.5.2 所有顶点对之间的最短路径 165

任务六 拓扑排序 168

实训 图的遍历应用 170

小结 172

习题七 173

项目八 查找 175

任务一 顺序查找 175

任务二 折半查找 177

任务三 分块查找 179

任务四 哈希表 181

8.4.1 哈希表和哈希函数的概念 182

8.4.2 哈希函数的构造方法 183

8.4.3 冲突处理 185

实训 学生档案管理系统 188

小结 195

习题八 196

项目九 排序 197

任务一 插入排序 197

9.1.1 线性插入排序 197

9.1.2 折半插入排序 199

任务二 希尔排序 200

任务三 选择排序 202

任务四 堆排序 203

任务五 快速排序 208

任务六 归并排序 210

任务七 基数排序 213

任务八 外部排序 216

任务九 各种排序方法的比较 217

实训 排序系统 219

小结 229

习题九 230

参考文献 231