图书介绍

数据结构 Java语言描述pdf电子书版本下载

数据结构  Java语言描述
  • 丁海军编著 著
  • 出版社: 北京:电子工业出版社
  • ISBN:9787121275302
  • 出版时间:2015
  • 标注页数:294页
  • 文件大小:122MB
  • 文件页数:306页
  • 主题词:数据结构-高等学校-教材;JAVA语言-程序设计-高等学校-教材

PDF下载


点此进入-本书在线PDF格式电子书下载【推荐-云解压-方便快捷】直接下载PDF格式图书。移动端-PC端通用
种子下载[BT下载速度快] 温馨提示:(请使用BT下载软件FDM进行下载)软件下载地址页 直链下载[便捷但速度慢]   [在线试读本书]   [在线获取解压码]

下载说明

数据结构 Java语言描述PDF格式电子书版下载

下载的文件为RAR压缩包。需要使用解压软件进行解压得到PDF格式图书。

建议使用BT下载工具Free Download Manager进行下载,简称FDM(免费,没有广告,支持多平台)。本站资源全部打包为BT种子。所以需要使用专业的BT下载软件进行下载。如 BitComet qBittorrent uTorrent等BT下载工具。迅雷目前由于本站不是热门资源。不推荐使用!后期资源热门了。安装了迅雷也可以迅雷进行下载!

(文件页数 要大于 标注页数,上中下等多册电子书除外)

注意:本站所有压缩包均有解压码: 点击下载压缩包解压工具

图书目录

第1章 绪论 1

1.1 数据结构的概念 1

1.1.1 为什么要学习数据结构 2

1.1.2 有关概念和术语 4

1.1.3 数据结构的三要素 5

1.2 抽象数据类型 6

1.2.1 数据类型 6

1.2.2 抽象数据类型 7

1.3 算法概念及算法设计的问题 8

1.3.1 什么是算法 8

1.3.2 算法特性 10

1.3.3 算法的结构和表示方法 10

1.3.4 算法设计原则 11

1.3.5 几种基本的算法设计方法和策略 12

1.3.6 编程解决问题的一般步骤 12

1.4 算法分析 13

1.4.1 时间复杂度分析的两类方法 13

1.4.2 时间复杂度分析的理论框架 14

1.4.3 非递归算法时间复杂度分析步骤 19

1.4.4 典型非递归算法的时间复杂度类型 20

1.4.5 递归算法时间复杂度分析步骤 22

1.4.6 空间复杂度 23

1.5 数据结构课程的内容 23

1.6 习题 24

第2章 线性表 27

2.1 线性表的逻辑结构 27

2.2 顺序表概念及存储特点 29

2.2.1 顺序表的逻辑特点 29

2.2.2 顺序表面向对象描述 29

2.3 顺序表的重要算法及实现 31

2.3.1 初始化 31

2.3.2 顺序表容量管理 31

2.3.3 数据存取 32

2.3.4 向顺序表中插入元素 33

2.3.5 删除顺序表中的元素 34

2.3.6 查找元素 35

2.3.7 顺序表中元素的有序插入与排序 36

2.3.8 顺序表转换为数组 37

2.3.9 顺序表转换为字符串 38

2.4 单链表概念及类定义 38

2.4.1 单链表基本概念 38

2.4.2 链表面向对象描述 41

2.5 单链表重要算法实现 44

2.5.1 数据存取 44

2.5.2 向链表中插入元素 44

2.5.3 删除链表节点 47

2.5.4 查找节点 49

2.5.5 向链表中有序插入节点 50

2.5.6 链表排序 52

2.5.7 链表转换为字符串和数组 53

2.6 链表迭代器 54

2.6.1 迭代器的概念 54

2.6.2 与迭代器有关的Java语言特性 55

2.6.3 链表类LinkList迭代器的实现 56

2.7 循环链表与双向链表 58

2.7.1 循环链表 58

2.7.2 双向链表 59

2.8 顺序表和链表的比较 60

2.9 习题 61

第3章 特殊的线性结构 64

3.1 栈 64

3.1.1 基本概念 64

3.1.2 链栈——栈的链表实现 65

3.1.3 顺序栈——栈的数组实现 66

3.1.4 表达式求值 68

3.2 队列 72

3.2.1 队列概念 72

3.2.2 链式队列 73

3.2.3 顺序队列 74

3.2.4 循环队列 75

3.2.5 队列应用 76

3.3 特殊矩阵 78

3.3.1 矩阵存储方式 78

3.3.2 对称矩阵和三角矩阵 79

3.3.3 对角矩阵 80

3.4 稀疏矩阵 81

3.4.1 三元组 81

3.4.2 矩阵抽象数据类型 82

3.4.3 稀疏矩阵的三元组顺序表表示 83

3.4.4 稀疏矩阵的行链表表示 88

3.4.5 稀疏矩阵的十字链表表示 91

3.5 广义表 92

3.5.1 广义表的定义和基本运算 93

3.5.2 广义表的存储结构 95

3.6 习题 96

第4章 线性查找算法 99

4.1 查找的基本概念 99

4.1.1 什么是查找及查找结构 99

4.1.2 查找结构的分类 100

4.1.3 平均查找长度 100

4.2 线性查找表 100

4.2.1 顺序查找 100

4.2.2 二分查找 100

4.2.3 分块查找 102

4.2.4 顺序表三种查找方法的比较 103

4.3 哈希查找 103

4.3.1 哈希表 103

4.3.2 哈希函数的构造方法 104

4.3.3 处理冲突的方法 106

4.3.4 哈希查找算法性能分析 109

4.4 哈希映射 109

4.4.1 映射(Map)概念 109

4.4.2 哈希表实现映射 110

4.5 串匹配 112

4.5.1 简单的模式匹配算法 112

4.5.2 KMP模式匹配算法 114

4.6 习题 118

第5章 排序算法 122

5.1 基本概念 122

5.2 插入排序 122

5.2.1 算法设计 123

5.2.2 时间复杂度分析 124

5.3 选择排序 124

5.3.1 算法设计 124

5.3.2 时间复杂度分析 125

5.4 冒泡排序 126

5.4.1 算法设计 126

5.4.2 时间复杂度分析 127

5.5 快速排序 127

5.5.1 快速排序的思想 127

5.5.2 快速排序算法实现 128

5.5.3 时间复杂度分析 129

5.6 归并排序 130

5.6.1 有序表的合并算法 130

5.6.2 递归归并排序 131

5.6.3 迭代归并排序 132

5.6.4 时间复杂度分析 133

5.7 基数排序 134

5.7.1 桶排序 134

5.7.2 基数排序应用举例 134

5.8 希尔排序 135

5.8.1 排序过程与算法设计 135

5.8.2 时间复杂度分析 137

5.9 习题 138

第6章 二叉树与树 145

6.1 树与二叉树一般概念 145

6.1.1 树 145

6.1.2 二叉树 146

6.2 二叉树的性质 148

6.3 二叉树存储结构 150

6.3.1 顺序存储 150

6.3.2 链式存储 151

6.4 二叉树遍历 152

6.4.1 二叉树遍历概念 152

6.4.2 先序遍历(DLR) 153

6.4.3 中序遍历(LDR) 154

6.4.4 后序遍历(LRD) 154

6.4.5 层次遍历 155

6.4.6 遍历的应用 156

6.4.7 根据已知的遍历序列恢复二叉树 157

6.5 哈夫曼(Huffman)树及其应用 159

6.5.1 最优二叉树(Huffman树)概念 159

6.5.2 Huffman树的构造方法 160

6.5.3 Huffman编码 162

6.5.4 Huffman编码、解码算法实现 164

6.6 递归 172

6.6.1 递归调用树 172

6.6.2 递归栈 176

6.6.3 二叉树遍历的非递归算法 179

6.7 树和森林 182

6.7.1 基本概念 182

6.7.2 树的存储结构 182

6.7.3 树的遍历 185

6.7.4 树的深度优先搜索与回溯法 186

6.7.5 树与并查集 190

6.8 习题 192

第7章 查找树 198

7.1 二叉查找树概念 198

7.1.1 二叉查找树定义 198

7.1.2 二叉查找树的面向对象描述 199

7.2 二叉查找树主要算法 202

7.2.1 求最大、最小值算法 202

7.2.2 查找算法 202

7.2.3 插入算法 204

7.2.4 删除算法 206

7.2.5 时间复杂度分析 209

7.3 AVL平衡二叉树 210

7.3.1 平衡二叉树的概念 211

7.3.2 平衡调整 214

7.3.3 AVL树的查找算法 218

7.3.4 AVL树的插入算法 218

7.3.5 AVL树删除算法 219

7.3.6 AVL树时间复杂度分析 220

7.4 B-树 222

7.4.1 分块索引查找 222

7.4.2 B-树定义 222

7.4.3 B-树查找 223

7.4.4 B-树的插入 225

7.4.5 B-树删除 226

7.5 B+树 228

7.6 习题 229

第8章 堆与优先队列及堆排序 233

8.1 堆 233

8.1.1 堆的基本算法 234

8.1.2 堆的实现 237

8.2 优先队列 239

8.3 堆排序 240

8.4 习题 241

第9章 图结构及相关算法 244

9.1 图的概念 244

9.1.1 什么是图 244

9.1.2 图论的基本概念 245

9.1.3 树和森林 248

9.2 图的基本操作与图的存储结构 248

9.2.1 图的基本操作 249

9.2.2 图的存储结构概述 252

9.2.3 图的邻接矩阵存储 252

9.2.4 图的邻接表存储 257

9.2.5 图的边集数组存储 262

9.3 图的遍历 263

9.3.1 深度优先遍历 263

9.3.2 广度优先遍历 265

9.3.3 利用图遍历算法研究图的连通性 266

9.4 最小生成树问题 268

9.4.1 图的生成树和生成森林 268

9.4.2 图的最小生成树概念 269

9.4.3 构造最小生成树的Prim算法 270

9.4.4 构造最小生成树的Kruskal算法 273

9.5 最短路径问题 275

9.5.1 从一个源点到其他各点的最短路径 276

9.5.2 所有点对之间的最短路径 280

9.6 拓扑排序问题 282

9.6.1 偏序关系 282

9.6.2 拓扑排序 282

9.6.3 拓扑排序应用 283

9.7 关键路径问题 285

9.7.1 AOE网(Activity On Edge network) 285

9.7.2 关键路径 286

9.8 习题 289

参考文献 294

精品推荐