图书介绍
算法与数据结构 Java语言描述pdf电子书版本下载
- 陈媛,涂飞,卢玲著 著
- 出版社: 北京:清华大学出版社
- ISBN:9787302268420
- 出版时间:2012
- 标注页数:258页
- 文件大小:80MB
- 文件页数:274页
- 主题词:算法分析-高等学校-教材;数据结构-高等学校-教材;JAVA语言-程序设计-高等学校-教材
PDF下载
下载说明
算法与数据结构 Java语言描述PDF格式电子书版下载
下载的文件为RAR压缩包。需要使用解压软件进行解压得到PDF格式图书。建议使用BT下载工具Free Download Manager进行下载,简称FDM(免费,没有广告,支持多平台)。本站资源全部打包为BT种子。所以需要使用专业的BT下载软件进行下载。如 BitComet qBittorrent uTorrent等BT下载工具。迅雷目前由于本站不是热门资源。不推荐使用!后期资源热门了。安装了迅雷也可以迅雷进行下载!
(文件页数 要大于 标注页数,上中下等多册电子书除外)
注意:本站所有压缩包均有解压码: 点击下载压缩包解压工具
图书目录
第1章 绪论 1
1.1 数据结构的基本概念 1
1.1.1 数据结构的研究对象 1
1.1.2 数据结构的基本概念和基本术语 2
1.2 算法与数据结构 6
1.2.1 算法的概念 6
1.2.2 描述算法的方法 7
1.2.3 算法分析 7
1.3 Java面向对象知识 10
1.3.1 类及类的使用 11
1.3.2 程序入口及对象的使用 11
1.3.3 构造方法 12
1.3.4 抽象类、接口 12
1.3.5 多态 14
1.3.6 包和类库的使用 15
1.3.7 equals方法、this、super 15
1.4 Java语言的数据类型及其算法描述要点 16
1.4.1 Java语言的基本数据类型概述 16
1.4.2 Java语言的数组和类数据类型 16
1.4.3 Java语言的ArrayList 18
1.4.4 Java语言的函数 19
1.4.5 用Java语言验证算法的方法 21
1.5 Java中ADT规格与实现 23
1.6 一个Java应用实例 23
1.7 学习数据结构的意义和方法 24
学习要点 25
习题 25
上机练习 26
第2章 线性表 27
2.1 线性表的逻辑结构 27
2.1.1 线性表的定义 27
2.1.2 线性表的运算 28
2.1.3 线性表的抽象数据类型定义 28
2.2 线性表的顺序存储结构——顺序表 29
2.2.1 顺序表的定义 29
2.2.2 顺序存储结构的优缺点 30
2.2.3 顺序表上的基本运算 30
2.3 线性表的链式存储结构——链表 34
2.3.1 单链表的定义 34
2.3.2 单链表的Java表示 35
2.3.3 单链表的基本运算 36
2.3.4 循环链表和双向链表 41
2.3.5 Java对链表的支持 45
2.4 数组 45
2.4.1 数组的定义与操作 46
2.4.2 数组的顺序存储结构 46
2.4.3 矩阵的压缩存储方法 47
2.5 字符串 54
2.5.1 字符串的定义与操作 54
2.5.2 字符串的存储结构 56
2.5.3 字符串基本操作的实现 60
2.6 线性表的应用实例 64
2.7 工程应用实例 69
学习要点 71
习题 71
上机练习 72
第3章 栈和队列 73
3.1 栈 73
3.1.1 栈的基本概念 73
3.1.2 栈的抽象数据类型 75
3.1.3 栈的顺序存储结构 75
3.1.4 栈的链式存储结构 78
3.2 栈的应用实例 79
3.2.1 表达式求值 79
3.2.2 栈与函数调用 81
3.2.3 栈在回溯法中的应用 82
3.2.4 Java对栈的支持 83
3.3 队列 83
3.3.1 队列的基本概念 83
3.3.2 队列的抽象数据类型 84
3.3.3 队列的顺序存储结构 84
3.3.4 队列的链式存储结构 88
3.4 队列的应用实例 91
3.4.1 舞伴问题 91
3.4.2 模拟打印队列的管理 93
3.5 工程应用实例 97
3.5.1 栈的应用 97
3.5.2 队列的应用 98
学习要点 98
习题 99
上机练习 99
第4章 递归 102
4.1 递归的概念及设计方法 102
4.1.1 递归模型 102
4.1.2 递归的执行过程 104
4.1.3 递归设计 105
4.1.4 递归到非递归的转换 105
4.2 递归与回溯 107
4.3 递归技术应用实例 112
4.3.1 汉诺塔问题 112
4.3.2 组合数学:委员会问题 116
4.4 递归评价 117
4.5 工程应用实例 119
学习要点 120
习题 120
上机练习 121
第5章 树 122
5.1 树 122
5.1.1 树的概念 122
5.1.2 树的基本操作 124
5.2 二叉树 124
5.2.1 二叉树的概念 124
5.2.2 二叉树的性质 126
5.2.3 二叉树的存储结构及其实现 127
5.3 二叉树的遍历 129
5.3.1 递归的遍历算法 129
5.3.2 二叉树遍历操作应用举例 133
5.4 线索二叉树 135
5.4.1 线索二叉树的定义 135
5.4.2 遍历线索二叉树 139
5.5 一般树的表示和遍历 140
5.5.1 一般树的表示 140
5.5.2 二叉树与树之间的转换 142
5.5.3 一般树的遍历 143
5.6 哈夫曼树及其应用 144
5.6.1 哈夫曼树 144
5.6.2 哈夫曼树的应用 147
5.7 工程应用实例 151
学习要点 152
习题 152
上机练习 155
第6章 图 157
6.1 图的定义和术语 157
6.2 图的存储结构 160
6.2.1 邻接矩阵 160
6.2.2 图的邻接表 161
6.2.3 十字链表 164
6.2.4 边集数组 167
6.3 图的遍历 169
6.3.1 深度优先搜索 169
6.3.2 广度优先搜索 172
6.4 图的连通性 174
6.4.1 无向图的连通分量 174
6.4.2 生成树和最小代价生成树 174
6.5 有向无环图及应用 180
6.5.1 拓扑排序 180
6.5.2 关键路径 186
6.6 最短路径及应用 190
6.6.1 单源最短路径 190
6.6.2 每个顶点之间的最短路径 193
6.7 工程应用实例 195
学习要点 196
习题 196
上机练习 198
第7章 查找 199
7.1 基本概念与术语 199
7.2 静态查找表 200
7.2.1 静态查找表结构 200
7.2.2 顺序查找 201
7.2.3 有序表的折半查找 202
7.2.4 有序表的插值查找和斐波那契查找 204
7.2.5 分块查找 205
7.3 动态查找表 206
7.3.1 二叉排序树 206
7.3.2 平衡二叉树 212
7.3.3 B-树和B+树 219
7.4 哈希表查找 227
7.4.1 哈希表与哈希方法 227
7.4.2 常用的哈希函数 228
7.4.3 处理冲突的方法 230
7.4.4 哈希表的查找分析 231
学习要点 232
习题 233
上机练习 233
第8章 排序 234
8.1 基本概念 234
8.2 插入排序 235
8.2.1 直接插入排序 235
8.2.2 希尔排序 237
8.3 交换排序 238
8.3.1 冒泡排序 238
8.3.2 快速排序 240
8.4 选择排序 242
8.4.1 简单选择排序 242
8.4.2 堆排序 243
8.5 归并排序 247
8.6 *基数排序 250
8.7 *外部排序简介 254
8.7.1 外存信息的存取 254
8.7.2 外部排序的基本方法 255
学习要点 255
习题 256
上机练习 257
参考文献 258