数据结构(JAVA语言描述) PDF 下载
本站整理下载:
用户下载说明:
电子版仅供预览,下载后24小时内务必删除,支持正版,喜欢的请购买正版书籍:
http://product.dangdang.com/1700841291.html
相关截图:

资料简介:
本书以作者多年数据结构课程教学经验为基础编写而成。全书共9章,第1章介绍了数据结构的基本概念及算法复杂度分析的详细框架和步骤;第2~5章是对线性结构的详细介绍,这一部分是整个数据结构的基础,包括顺序表、链表、栈、队列、稀疏矩阵以及线性表的查找和排序等内容;第6~8章主要研究树结构,第6章介绍了二叉树及树的性质、遍历算法及其应用,第7章研究了查找二叉树及相关算法,第8章介绍了堆结构及其应用;第9章介绍了图结构及关于图的几个基础算法。 本书以Java语言作为数据结构及算法的描述语言,以Java环境的集合框架为参照组织教学内容,便于读者更好地将课程内容运用到实际的软件开发过程中。本书配套有PPT、习题解答等。
资料目录:
第1章 绪 论t1
1.1 数据结构的概念t1
1.1.1 为什么要学习数据结构t2
1.1.2 有关概念和术语t4
1.1.3 数据结构的三要素t5
1.2 抽象数据类型t6
1.2.1 数据类型t6
1.2.2 抽象数据类型t7
1.3 算法概念及算法设计的问题t8
1.3.1 什么是算法t8
1.3.2 算法特性t10
1.3.3 算法的结构和表示方法t10
1.3.4 算法设计原则t11
1.3.5 几种基本的算法设计方法和策略t12
1.3.6 编程解决问题的一般步骤t12
1.4 算法分析t13
1.4.1 时间复杂度分析的两类方法t13
1.4.2 时间复杂度分析的理论框架t14
1.4.3 非递归算法时间复杂度分析步骤t19
1.4.4 典型非递归算法的时间复杂度类型t20
1.4.5 递归算法时间复杂度分析步骤t22
1.4.6 空间复杂度t23
1.5 数据结构课程的内容t23
1.6 习题t24
第2章 线性表t27
2.1 线性表的逻辑结构t27
2.2 顺序表概念及存储特点t29
2.2.1 顺序表的逻辑特点t29
2.2.2 顺序表面向对象描述t29
2.3 顺序表的重要算法及实现t31
2.3.1 初始化t31
2.3.2 顺序表容量管理t31
2.3.3 数据存取t32
2.3.4 向顺序表中插入元素t33
2.3.5 删除顺序表中的元素t34
2.3.6 查找元素t35
2.3.7 顺序表中元素的有序插入与排序t36
2.3.8 顺序表转换为数组t37
2.3.9 顺序表转换为字符串t38
2.4 单链表概念及类定义t38
2.4.1 单链表基本概念t38
2.4.2 链表面向对象描述t41
2.5 单链表重要算法实现t44
2.5.1 数据存取t44
2.5.2 向链表中插入元素t44
2.5.3 删除链表节点t47
2.5.4 查找节点t49
2.5.5 向链表中有序插入节点t50
2.5.6 链表排序t52
2.5.7 链表转换为字符串和数组t53
2.6* 链表迭代器t54
2.6.1 迭代器的概念t54
2.6.2 与迭代器有关的Java语言特性t55
2.6.3 链表类LinkList迭代器的实现t56
2.7 循环链表与双向链表t58
2.7.1 循环链表t58
2.7.2 双向链表t59
2.8* 顺序表和链表的比较t60
2.9 习题t61
第3章 特殊的线性结构t64
3.1 栈t64
3.1.1 基本概念t64
3.1.2 链栈――栈的链表实现t65
3.1.3 顺序栈――栈的数组实现t66
3.1.4 表达式求值t68
3.2 队列t72
3.2.1 队列概念t72
3.2.2 链式队列t73
3.2.3 顺序队列t74
3.2.4 循环队列t75
3.2.5 队列应用t76
3.3 特殊矩阵t78
3.3.1 矩阵存储方式t78
3.3.2 对称矩阵和三角矩阵t79
3.3.3 对角矩阵t80
3.4 稀疏矩阵t81
3.4.1 三元组t81
3.4.2 矩阵抽象数据类型t82
3.4.3 稀疏矩阵的三元组顺序表表示t83
3.4.4 稀疏矩阵的行链表表示t88
3.4.5 稀疏矩阵的十字链表表示t91
3.5 广义表t92
3.5.1 广义表的定义和基本运算t93
3.5.2 广义表的存储结构t95
3.6 习题t96
第4章 线性查找算法t99
4.1 查找的基本概念t99
4.1.1 什么是查找及查找结构t99
4.1.2 查找结构的分类t100
4.1.3 平均查找长度t100
4.2 线性查找表t100
4.2.1 顺序查找t100
4.2.2 二分查找t100
4.2.3 分块查找t102
4.2.4 顺序表三种查找方法的比较t103
4.3 哈希查找t103
4.3.1 哈希表t103
4.3.2 哈希函数的构造方法t104
4.3.3 处理冲突的方法t106
4.3.4 哈希查找算法性能分析t109
4.4 哈希映射t109
4.4.1 映射(Map)概念t109
4.4.2 哈希表实现映射t110
4.5 串匹配t112
4.5.1 简单的模式匹配算法t112
4.5.2 KMP模式匹配算法t114
4.6 习题t118
第5章 排序算法t122
5.1 基本概念t122
5.2 插入排序t122
5.2.1 算法设计t123
5.2.2 时间复杂度分析t124
5.3 选择排序t124
5.3.1 算法设计t124
5.3.2 时间复杂度分析t125
5.4 冒泡排序t126
5.4.1 算法设计t126
5.4.2 时间复杂度分析t127
5.5 快速排序t127
5.5.1 快速排序的思想t127
5.5.2 快速排序算法实现t128
5.5.3 时间复杂度分析t129
5.6 归并排序t130
5.6.1 有序表的合并算法t130
5.6.2 递归归并排序t131
5.6.3 迭代归并排序t132
5.6.4 时间复杂度分析t133
5.7 基数排序t134
5.7.1 桶排序t134
5.7.2 基数排序应用举例t134
5.8* 希尔排序t135
5.8.1 排序过程与算法设计t135
5.8.2 时间复杂度分析t137
5.9 习题t138
第6章 二叉树与树t145
6.1 树与二叉树一般概念t145
6.1.1 树t145
6.1.2 二叉树t146
6.2 二叉树的性质t148
6.3 二叉树存储结构t150
6.3.1 顺序存储t150
6.3.2 链式存储t151
6.4 二叉树遍历t152
6.4.1 二叉树遍历概念t152
6.4.2 先序遍历(DLR)t153
6.4.3 中序遍历(LDR)t154
6.4.4 后序遍历(LRD)t154
6.4.5 层次遍历t155
6.4.6 遍历的应用t156
6.4.7 根据已知的遍历序列恢复二叉树t157
6.5 哈夫曼(Huffman)树及其应用t159
6.5.1 最优二叉树(Huffman树)概念t159
6.5.2 Huffman树的构造方法t160
6.5.3 Huffman编码t162
6.5.4 Huffman编码、码算法实现t164
6.6 递归t172
6.6.1 递归调用树t172
6.6.2 递归栈t176
6.6.3 二叉树遍历的非递归算法t179
6.7 树和森林t182
6.7.1 基本概念t182
6.7.2 树的存储结构t182
6.7.3 树的遍历t185
6.7.4 树的深度优先搜索与回溯法t186
6.7.5 树与并查集t190
6.8 习题t192
第7章 查找树t198
7.1 二叉查找树概念t198
7.1.1 二叉查找树定义t198
7.1.2 二叉查找树的面向对象描述t199
7.2 二叉查找树主要算法t202
7.2.1 求最大、最小值算法t202
7.2.2 查找算法t202
7.2.3 插入算法t204
7.2.4 删除算法t206
7.2.5 时间复杂度分析t209
7.3 AVL平衡二叉树t210
7.3.1 平衡二叉树的概念t211
7.3.2 平衡调整t214
7.3.3 AVL树的查找算法t218
7.3.4 AVL树的插入算法t218
7.3.5 AVL树删除算法t219
7.3.6 AVL树时间复杂度分析t220
7.4 B-树t222
7.4.1 分块索引查找t222
7.4.2 B-树定义t222
7.4.3 B-树查找t223
7.4.4 B-树的插入t225
7.4.5 B-树删除t226
7.5 B+树t228
7.6 习题t229
第8章 堆与优先队列及堆排序t233
8.1堆t233
8.1.1 堆的基本算法t234
8.1.2 堆的实现t237
8.2 优先队列t239
8.3 堆排序t240
8.4 习题t241
第9章 图结构及相关算法t242
9.1 图的概念t242
9.1.1 什么是图t242
9.1.2 图论的基本概念t243
9.1.3 树和森林t246
9.2 图的基本操作与图的存储结构t246
9.2.1 图的基本操作t247
9.2.2 图的存储结构概述t250
9.2.3 图的邻接矩阵存储t250
9.2.4 图的邻接表存储t255
9.2.5 图的边集数组存储t260
9.3 图的遍历t261
9.3.1 深度优先遍历t261
9.3.2 广度优先遍历t263
9.3.3 利用图遍历算法研究图的连通性t264
9.4 最小生成树问题t266
9.4.1 图的生成树和生成森林t266
9.4.2 图的最小生成树概念t267
9.4.3 构造最小生成树的Prim算法t268
9.4.4 构造最小生成树的Kruskal算法t271
9.5 最短路径问题t273
9.5.1 从一个源点到其他各点的最短路径t274
9.5.2 所有点对之间的最短路径t278
9.6 拓扑排序问题t280
9.6.1 偏序关系t280
9.6.2 拓扑排序t280
9.6.3 拓扑排序应用t281
9.7* 关键路径问题t283
9.7.1 AOE网(Activity OEdge network)t283
9.7.2 关键路径t284
9.8 习题t287
|