梁勇(Y. Daniel Liang) 现为阿姆斯特朗亚特兰大州立大学计算机科学系教授。之前曾是普度大学计算机科学系副教授,并曾两次获得普度大学杰出研究奖。他所编写的Java教程在美国大学Java课程中采用率极高,同时他还兼任Prentice Hall Java系列丛书的编辑。他是“Java Champion”荣誉得主,并在世界各地给在校学生和程序员做Java语言及技术方面的讲座。
【目录】
第19章 泛型 1
19.1 引言 2
19.2 动机和优点 2
19.3 定义泛型类和接口 4
19.4 泛型方法 6
19.5 示例学习:对一个对象数组进行排序 8
19.6 原生类型和向后兼容 10
19.7 通配泛型 11
19.8 泛型的擦除和限制 14
19.9 示例学习:泛型矩阵类 16
第20章 线性表、栈、队列和优先队列 25
20.1 引言 26
20.2 集合 26
20.3 迭代器 30
20.4 使用forEach方法 31
20.5 线性表 32
20.6 Comparator接口 37
20.7 线性表和集合的静态方法 41
20.8 示例学习:弹球 44
20.9 向量类和栈类 48
20.10 队列和优先队列 49
20.11 示例学习:表达式求值 53
第21章 规则集和映射 65
21.1 引言 66
21.2 规则集 66
21.3 比较规则集和线性表的性能 74
21.4 示例学习:关键字计数 77
21.5 映射 78
21.6 示例学习:单词的出现次数 83
21.7 单元素与不可变的集合和映射 85
第22章 开发高效算法 89
22.1 引言 90
22.2 使用大O标记来衡量算法效率 90
22.3 示例:确定大O 92
22.4 分析算法的时间复杂度 96
22.5 使用动态编程寻找斐波那契数 99
22.6 使用欧几里得算法求最大公约数 101
22.7 寻找素数的高效算法 105
22.8 使用分而治之法寻找最近点对 111
22.9 使用回溯法解决八皇后问题 114
22.10 计算几何:寻找凸包 117
第23章 排序 131
23.1 引言 132
23.2 插入排序 132
23.3 冒泡排序 134
23.4 归并排序 137
23.5 快速排序 140
23.6 堆排序 144
23.7 桶排序和基数排序 151
23.8 外部排序 153
第24章 实现线性表、栈、队列和优先队列 167
24.1 引言 168
24.2 线性表的通用操作 168
24.3 数组线性表 172
24.4 链表 179
24.5 栈和队列 193
24.6 优先队列 197
第25章 二叉搜索树 203
25.1 引言 204
25.2 二叉搜索树 204
25.3 删除BST中的一个元素 217
25.4 树的可视化和MVC 223
25.5 迭代器 226
25.6 示例学习:数据压缩 228
第26章 AVL树 239
26.1 引言 240
26.2 重新平衡树 240
26.3 为AVL树设计类 243
26.4 重写insert方法 244
26.5 实现旋转 245
26.6 实现delete方法 246
26.7 AVLTree类 246
26.8 测试 AVLTree类 252
26.9 AVL树的时间复杂度分析 255
第27章 散列 259
27.1 引言 260
27.2 什么是散列 260
27.3 散列函数和散列码 261
27.4 使用开放地址法处理冲突 263
27.5 使用分离链接法处理冲突 267
27.6 装填因子和再散列 267
27.7 使用散列实现映射 269
27.8 使用散列实现规则集 278
第28章 图及其应用 289
28.1 引言 290
28.2 基本的图术语 291
28.3 表示图 292
28.4 图的建模 298
28.5 图的可视化 308
28.6 图的遍历 311
28.7 深度优先搜索 312
28.8 示例学习:连通圆问题 316
28.9 广度优先搜索 318
28.10 示例学习:9枚硬币反面问题 321
第29章 加权图及其应用 335
29.1 引言 336
29.2 加权图的表示 337
29.3 WeightedGraph类 339
29.4 最小生成树 347
29.5 寻找最短路径 353
29.6 示例学习:加权的9枚硬币反面问题 362
第30章 集合流的聚合操作 373
30.1 引言 374
30.2 流管道 374
30.3 IntStream、LongStream和DoubleStream 380
30.4 并行流 383
30.5 使用reduce方法进行流的归约 385
30.6 使用collect方法进行流的归约 388
30.7 使用groupingBy收集器进行元素分组 391
30.8 示例学习 394
附录A Java关键字 405
附录B ASCII字符集 406
附录C 操作符优先级表 408
附录D Java修饰符 410
附录E 特殊浮点值 412
附录F 数系 413
附录G 位操作符 417
附录H 正则表达式 418
附录I 枚举类型 423
Contents
chapter 19 generics 1
19.1 Introduction 2
19.2 Motivations and Benefits 2
19.3 Defining Generic Classes and Interfaces 4
19.4 Generic Methods 6
19.5 Case Study: Sorting an Array of Objects 8
19.6 Raw Types and Backward Compatibility 10
19.7 Wildcard Generic Types 11
19.8 Erasure and Restrictions on Generics 14
19.9 Case Study: Generic Matrix Class 16
chapter 20 Lists, Stacks, Queues, and Priority Queues 25
以下为对购买帮助不大的评价