图书介绍
数据结构 Java版PDF|Epub|txt|kindle电子书版本网盘下载
- 叶核亚编著 著
- 出版社: 北京:电子工业出版社
- ISBN:9787121068928
- 出版时间:2008
- 标注页数:304页
- 文件大小:101MB
- 文件页数:318页
- 主题词:数据结构-高等学校-教材;JAVA语言-程序设计-高等学校-教材
PDF下载
下载说明
数据结构 Java版PDF格式电子书版下载
下载的文件为RAR压缩包。需要使用解压软件进行解压得到PDF格式图书。建议使用BT下载工具Free Download Manager进行下载,简称FDM(免费,没有广告,支持多平台)。本站资源全部打包为BT种子。所以需要使用专业的BT下载软件进行下载。如BitComet qBittorrent uTorrent等BT下载工具。迅雷目前由于本站不是热门资源。不推荐使用!后期资源热门了。安装了迅雷也可以迅雷进行下载!
(文件页数 要大于 标注页数,上中下等多册电子书除外)
注意:本站所有压缩包均有解压码: 点击下载压缩包解压工具
图书目录
第0章 Java程序设计基础1
0.1Java的特点和优势1
0.2Java语言基础2
0.2.1语言成分2
0.2.2流程控制语句4
0.2.3数组5
0.2.4字符串7
0.3面向对象程序设计8
0.3.1类和对象8
0.3.2类的封装性10
0.3.3类的继承性14
0.34类的多态性17
0.3.5抽象类和最终类21
0.3.6接口22
0.3.7内部类23
0.3.8包24
0.4异常处理25
0.4.1Java的错误和异常25
0.4.2抛出和处理异常27
0.5Java的标准输入/输出28
习题0.29
实验0 Java程序设计基础30
第1章 绪论31
1.1数据结构的基本概念31
1.1.1为什么要学习数据结构31
1.1.2什么是数据结构31
1.1.3数据的逻辑结构33
1.1.4数据的存储结构34
1.1.5数据操作35
1.1.6用Java语言描述数据结构36
1.2算法36
1.2.1什么是算法36
1.2.2算法分析38
1.2.3算法设计实例40
1.2.4递归算法45
习题1.47
实验1 算法设计48
第2章 线性表49
2.1线性表抽象数据类型49
2.2线性表的顺序表示和实现50
2.3线性表的链式表示和实现55
2.3.1线性表的链式存储结构55
2.3.2单链表56
2.3.3双链表67
2.4迭代器70
2.4.1迭代接口70
2.4.2基于迭代器的操作71
2.4.3提供迭代器对象71
习题2.73
实验2 线性表的基本操作73
第3章 栈和队列75
3.1栈75
3.1.1栈抽象数据类型75
3.1.2顺序栈76
3.1.3链式栈77
3.1.4栈的应用78
3.2队列84
3.2.1队列抽象数据类型84
3.2.2顺序队列85
3.23链式队列87
3.2.4队列的应用88
习题3.90
实验3 栈和队列及其应用90
第4章串92
4.1串抽象数据类型92
4.1.1串的基本概念92
4.1.2串抽象数据类型93
4.2串的表示和实现93
4.2.1串的存储结构93
4.2.2字符串类String94
4.2.3字符串类StringBuffer98
4.3串的模式匹配101
4.3.1朴素的模式匹配(Brute-Force)算法101
4.3.2无回溯的模式匹配(KMP)算法106
习题4.110
实验4 串的基本操作及模式匹配应用111
第5章 数组和广义表112
5.1数组112
5.1.1一维数组112
5.1.2多维数组112
5.2特殊矩阵的压缩存储116
5.2.1对称(三角)矩阵的存储116
5.2.2稀疏矩阵的压缩存储117
5.3广义表123
5.3.1广义表抽象数据类型124
5.3.2广义表的存储结构125
习题5.127
实验5 特殊矩阵和广义表的存储和运算127
第6章 树和二叉树129
6.1树及其抽象数据类型129
6.1.1树定义129
6.1.2树的术语130
6.1.3树的表示法131
6.1.4树抽象数据类型131
6.2二叉树及其抽象数据类型132
6.2.1二叉树定义132
6.2.2二叉树性质132
6.2.3二叉树抽象数据类型134
6.3二叉树的表示和实现134
6.3.1二叉树的存储结构134
6.3.2二叉树的二叉链表实现136
6.3.3二叉树的遍历137
6.3.4构造二叉树142
6.3.5二叉树的插入和删除操作147
6.3.6二叉树遍历的非递归算法148
6.37二叉树的层次遍历149
6.4线索二叉树151
6.4.1线索二叉树定义151
6.4.2中序线索二叉树152
6.5哈夫曼编码与哈夫曼树157
6.5.1哈夫曼编码158
6.5.2哈夫曼树159
6.6树的表示165
6.6.1树的存储结构165
6.6.2树的遍历166
习题6.167
实验6 二叉树的基本操作168
第7章 图170
7.1图及其抽象数据类型170
7.1.1图的基本概念170
7.1.2图抽象数据类型173
7.2图的表示和实现174
7.2.1图的邻接矩阵表示174
7.2.2图的邻接表表示180
7.3图的遍历187
7.3.1图的深度优先搜索遍历187
7.3.2图的广度优先搜索遍历189
7.4最小生成树191
7.4.1生成树191
7.4.2最小生成树的构造算法193
7.5最短路径197
习题7.201
实验7 图的表示和操作202
第8章 查找203
8.1查找的基本概念203
8.2基于线性表的查找204
8.2.1顺序查找204
8.2.2基于有序顺序表的折半查找206
8.2.3基于索引顺序表的分块查找208
8.3树结构的查找213
8.3.1二叉排序树及其查找213
8.3.2平衡二叉树219
8.4散列220
8.4.1散列表220
8.4.2散列函数221
8.4.3处理冲突222
8.4.4构造链地址法的散列表223
习题8.225
实验8 查找算法及其效率分析226
第9章 排序227
9.1排序的基本概念227
9.2插入排序228
9.2.1直接插入排序和折半插入排序228
9.2.2希尔排序230
9.3交换排序232
9.3.1冒泡排序232
9.3.2快速排序233
9.4选择排序236
9.4.1直接选择排序236
9.4.2堆排序237
9.5归并排序240
习题9.242
实验9 排序算法设计及分析243
第10章 综合应用设计244
10.1Java集合框架244
10.1.1数组244
10.1.2集合248
10.2使用复杂的Swing组件251
10.2.1列表框JList252
10.2.2表格JTable252
10.2.3树JTree259
10.3课程设计的实例和选题266
10.3.1用预见算法解骑士游历问题266
10.3.2课程设计选题271
第11章 Java开发运行环境275
11.1JDK275
11.1.1JDK的安装与设置275
11.1.2运行Java Application程序276
11.1.3查看Java类库与包等级278
11.1.4创建、声明和导入包278
11.2使用JCreator280
11.2.1JCreator集成开发环境280
11.2.2创建、编译并运行一个项目282
11.2.3一个工作区包含多个项目285
11.2.4配置JDK286
11.2.5程序调试技术288
附录A ASCII字符与Unicode值293
附录B Java关键字294
附录C Java基本数据类型296
附录D Java运算符及其优先级297
附录E java.lang语言包部分类库298
附录F Creator4.5常用菜单命令301
附录G本书数据结构包说明304
【例0.1】显示字符串的Application应用程序。3
【例0.2】声明Person类及使用对象。9
【例0.3】封装的Person类。12
【例0.4】Student类继承Person类。16
【例0.5】类的多态性,Student子类重定义父类成员。18
【例0.6】标准输入/输出。28
【例1.1】算法时间复杂度分析。39
【例1.2】交换两个变量值。40
【例1.3】数组的顺序查找和对象比较相等方法。42
【例1.4】已排序数组的顺序查找,以及对象比较大小方法。44
【例1.5】求n!。46
【例1.6】求Fibonacci序列。47
【例2.1】使用顺序表类求解约瑟夫(Josephus)环问题。54
【例2.2】采用单链表求解约瑟夫环问题。62
【例2.3】单链表逆转。63
【例2.4】建立排序的单链表。66
【例3.1】判断表达式中圆括号是否匹配。79
【例3.2】使用栈计算表达式的值。80
【例3.3】求解素数环问题。89
【例4.1】String类的模拟实现。94
【例4.2】判断标识符。97
【例4.3】使用String实现字符串的插入、删除操作。98
【例4.4】StringBuffer类的模拟实现。99
【例4.5】串的逆转。101
【例4.6】Brute-Force模式匹配算法实现。102
【例4.7】串的替换操作。104
【例5.1】矩阵类。114
【例5.2】稀疏矩阵的三元组顺序表实现。118
【例6.1】构造并遍历二叉树。139
【例6.2】输出二叉树中指定结点的所有祖先结点。145
【例6.3】建立二叉链表表示的完全二叉树。146
【例6.4】构造中序线索二叉树并进行中根次序遍历。155
【例6.5】构造哈夫曼树并获得哈夫曼编码。161
【例7.1】带权有向图的构造、插入及删除操作。186
【例7.2】构造带权无向图的最小生成树。195
【例7.3】求带权图的单源最短路径。200
【例8.1】判断一个字符串是否为Java关键字。210
【例8.2】二叉排序树的插入和查找操作。214
【例10.1】对象数组排序和查找。245
【例10.2】电话簿。253
【例10.3】以树结构显示中国城市。261
【例10.4】用预见算法解骑士游历问题。267
【例11.1】使用命令行参数作为输入数据。277
【例11.2】创建Hello工作区和项目。283
【例11.3】设置命令行参数。284
【例11.4】一个工作区包含多个项目。286
【例11.5】使用自定义的包。287
【例11.6】使用调试技术发现程序逻辑错误。291