图书介绍
实用数据结构教程 Java语言描述PDF|Epub|txt|kindle电子书版本网盘下载
![实用数据结构教程 Java语言描述](https://www.shukui.net/cover/41/31736292.jpg)
- 周大庆编著 著
- 出版社: 北京市:人民邮电出版社
- ISBN:7115159076
- 出版时间:2007
- 标注页数:233页
- 文件大小:28MB
- 文件页数:240页
- 主题词:数据结构-高等学校-教材;JAVA语言-程序设计-高等学校-教材
PDF下载
下载说明
实用数据结构教程 Java语言描述PDF格式电子书版下载
下载的文件为RAR压缩包。需要使用解压软件进行解压得到PDF格式图书。建议使用BT下载工具Free Download Manager进行下载,简称FDM(免费,没有广告,支持多平台)。本站资源全部打包为BT种子。所以需要使用专业的BT下载软件进行下载。如BitComet qBittorrent uTorrent等BT下载工具。迅雷目前由于本站不是热门资源。不推荐使用!后期资源热门了。安装了迅雷也可以迅雷进行下载!
(文件页数 要大于 标注页数,上中下等多册电子书除外)
注意:本站所有压缩包均有解压码: 点击下载压缩包解压工具
图书目录
第1章 绪论1
1.1 数据结构与数据类型1
1.2 抽象数据类型3
1.2.1 ADT的规格说明4
1.2.2 ADT的实现4
1.2.3 Java中ADT的规格说明与实现4
1.3 串抽象数据类型7
1.3.1 串ADT的规格说明7
1.3.2 串ADT的实现7
习题9
第2章 算法11
2.1 问题、算法和程序11
2.2 算法的代价12
2.3 算法分析13
2.3.1 规模与基本操作13
2.3.2 运行时间和增长率13
2.3.3 最佳、最差和平均情况15
2.4 大O符号16
2.4.1 大O的定义16
2.4.2 大O的性质17
2.4.3 大O的计算17
2.5 空间代价19
2.6 递归算法20
习题24
第3章 数组25
3.1 数组25
3.1.1 子数组27
3.1.2 有序数组27
3.1.3 二维数组28
3.2 插入29
3.3 删除30
3.4 查找31
3.4.1 线性查找31
3.4.2 二分查找33
3.4.3 查找算法比较35
3.5 归并35
3.6 排序37
3.6.1 冒泡排序37
3.6.2 选择排序39
3.6.3 插入排序41
3.6.4 归并排序42
3.6.5 快速排序44
3.6.6 排序算法比较47
习题48
第4章 链表50
4.1 链表50
4.1.1 单向链表51
4.1.2 双向链表53
4.1.3 有序链表56
4.1.4 循环链表56
4.2 插入56
4.2.1 单向链表插入56
4.2.2 双向链表插入58
4.3 删除59
4.3.1 单向链表删除60
4.3.2 双向链表删除60
4.4 查找62
习题62
第5章 栈与队列65
5.1 栈65
5.1.1 栈的概念65
5.1.2 栈的应用66
5.1.3 栈ADT的规格说明66
5.1.4 用数组实现栈67
5.1.5 用单向链表实现栈70
5.2 队列72
5.2.1 队列的概念72
5.2.2 队列的应用72
5.2.3 队列ADT的规格说明73
5.2.4 用数组实现队列73
5.2.5 用单向链表实现队列77
5.2.6 基数排序79
习题81
第6章 表82
6.1 表的概念82
6.2 表的应用83
6.3 表ADT的规格说明83
6.4 用数组实现表84
6.5 用单向链表实现表86
习题88
第7章 二叉树90
7.1 二叉树90
7.1.1 二叉树的概念90
7.1.2 满二叉树92
7.1.3 平衡二叉树93
7.1.4 二叉树结点类94
7.2 二叉树的遍历95
7.3 二叉查找树97
7.3.1 二叉查找树的概念97
7.3.2 查找99
7.3.3 插入101
7.3.4 删除103
7.4 二叉查找树的平衡化重构108
7.5 将二叉查找树保存到文件109
7.5.1 使用前序遍历把二叉查找树保存到文件110
7.5.2 使用中序遍历把二叉查找树保存到文件111
习题112
第8章 优先队列与堆114
8.1 优先队列的概念114
8.2 优先队列的应用114
8.3 优先队列ADT的规格说明115
8.4 优先队列的实现115
8.5 完全二叉树与堆116
8.5.1 完全二叉树116
8.5.2 堆117
8.6 用堆实现优先队列119
8.7 堆排序122
8.8 赫夫曼编码树122
8.8.1 建立赫夫曼编码树123
8.8.2 赫夫曼编码及其用法127
习题130
第9章 集合与映射131
9.1 集合131
9.1.1 集合的概念131
9.1.2 集合的应用132
9.1.3 集合ADT的规格说明133
9.1.4 集合的实现134
9.2 映射147
9.2.1 映射的概念147
9.2.2 映射的应用147
9.2.3 映射ADT的规格说明148
9.2.4 映射的实现148
习题154
第10章 散列表156
10.1 散列表原理156
10.2 闭桶散列表158
10.2.1 插入160
10.2.2 查找160
10.2.3 删除161
10.2.4 分析161
10.2.5 设计161
10.2.6 再散列162
10.3 开桶散列表163
10.3.1 插入165
10.3.2 查找167
10.3.3 删除168
10.3.4 分析169
10.3.5 设计169
10.3.6 双散列170
10.4 用散列表实现集合与映射172
习题173
第11章 树174
11.1 树的概念174
11.2 树的应用175
11.3 左子结点/右兄弟结点表示法176
11.4 树的遍历180
11.5 父指针表示法181
11.6 UNION/FIND算法与等价类问题182
习题186
第12章 图187
12.1 图的概念187
12.2 图的应用189
12.3 图ADT的规格说明190
12.4 图的实现191
12.4.1 用邻接矩阵实现图191
12.4.2 用邻接表实现图193
12.5 图的遍历195
12.5.1 深度优先搜索195
12.5.2 广度优先搜索197
12.6 拓扑排序198
12.6.1 基于递归的拓扑排序算法198
12.6.2 基于队列的拓扑排序算法199
12.7 最短路径问题200
12.7.1 单源最短路径201
12.7.2 每对顶点间的最短路径204
12.8 最小生成树205
12.8.1 Prim算法205
12.8.2 Kruskal算法207
12.9 迷宫的生成和求解209
12.9.1 迷宫的表示210
12.9.2 用DFS算法生成迷宫212
12.9.3 用Prim算法生成迷宫213
12.9.4 用Kruskal算法生成迷宫215
12.9.5 迷宫求解算法216
习题217
附录A 数学预备知识218
附录B Java语言概要224
附录C 课程实验230
参考文献233