网站首页 软件下载 游戏下载 翻译软件 电子书下载 电影下载 电视剧下载 教程攻略
书名 | Java语言程序设计 进阶篇 原书第12版 |
分类 | 教育考试-大中专教材-大学教材 |
作者 | (美)梁勇 |
出版社 | 机械工业出版社 |
下载 | ![]() |
简介 | 内容推荐 本书是Java语言的经典教材,中文版分为基础篇和进阶篇,主要介绍程序设计基础、面向对象程序设计、GUI程序设计、数据结构和算法、高级Java程序设计等内容。本书通过示例讲解问题求解技巧,提供大量的程序清单,每章配有丰富的复习题和编程练习题,帮助读者掌握编程技术,并学会应用所学技术解决实际开发中遇到的问题。进阶篇主要讨论数据结构和算法,包括线性表、栈、队列、规则集、映射、排序、树和图等内容。本书可作为高等院校计算机相关专业程序设计课程的教材,也可作为Java语言及编程爱好者的参考资料。 目录 中文版序 译者序 前言 第19章泛型 1 19.1引言 1 19.2动机和优点 1 19.3定义泛型类和接口 4 19.4泛型方法 5 19.5示例学习:对一个对象数组进行排序 7 19.6原生类型和向后兼容 8 19.7通配泛型 10 19.8泛型的擦除和 12 19.9示例学习:泛型矩阵类 15 关键术语 19 本章小结 19 测试题 20 编程练习题 20 第20章线性表、栈、队列和优先队列 22 20.1引言 22 20.2集合 23 20.3迭代器 26 20.4使用forEach方法 27 20.5线性表 28 20.5.1List接口中的通用方法 28 20.5.2ArrayList和LinkedList类 30 20.6Comparator接口 32 20.7用于线性表和集合的静态方法 36 20.8示例学习:弹球 40 20.9向量类和栈类 43 20.10队列和优先队列 44 20.10.1Queue接口 44 20.10.2双端队列Deque和链表LinkedList 45 20.11示例学习:表达式求值 47 关键术语 51 本章小结 51 测试题 52 编程练习题 52 第21章规则集和映射 57 21.1引言 57 21.2规则集 57 21.2.1HashSet 58 21.2.2LinkedHashSet 61 21.2.3TreeSet 62 21.3比较规则集和线性表的性能 65 21.4示例学习:关键字计数 67 21.5映射 69 21.6示例学习:单词的出现次数 73 21.7单例与不可变的集合和映射 75 关键术语 76 本章小结 76 测试题 77 编程练习题 77 第22章开发高效算法 79 22.1引言 79 22.2使用大O表示法来衡量算法效率 79 22.3示例:确定大O 81 22.4分析算法的时间复杂度 85 22.4.1分析二分查找算法 85 22.4.2分析选择排序算法 85 22.4.3分析汉诺塔问题 85 22.4.4常用的递推关系 86 22.4.5比较常用的增长函数 86 22.5使用动态编程求斐波那契数 87 22.6使用欧几里得算法求优选公约数 89 22.7求素数的高效算法 93 22.8使用分治法寻找最近点对 98 22.9使用回溯法解决八皇后问题 101 22.10计算几何:寻找凸包 103 22.10.1卷包裹算法 104 22.10.2格雷厄姆算法 105 22.11字符串匹配 106 22.11.1暴力算法 106 22.11.2Boyer-Moore算法 107 22.11.3Knuth-Morris-Pratt算法 109 关键术语 112 本章小结 112 测试题 113 编程练习题 113 第23章排序 120 23.1引言 120 23.2插入排序 121 23.3冒泡排序 123 23.4归并排序 125 23.5快速排序 128 23.6堆排序 132 23.6.1堆的存储 133 23.6.2添加一个新结点 133 23.6.3删除根结点 134 23.6.4Heap类 135 23.6.5使用Heap类进行排序 137 23.6.6堆排序的时间复杂度 138 23.7桶排序和基数排序 139 23.8外部排序 141 23.8.1实现阶段Ⅰ 143 23.8.2实现阶段Ⅱ 143 23.8.3结合两个阶段 145 23.8.4外部排序复杂度 148 关键术语 148 本章小结 148 测试题 149 编程练习题 149 第24章实现线性表、栈、队列和优先队列 153 24.1引言 153 24.2线性表的通用操作 153 24.3数组线性表 156 24.4链表 163 24.4.1结点 163 24.4.2MyLinkedList类 165 24.4.3实现MyLinkedList 166 24.4.4MyArrayList和MyLinkedList 174 24.4.5链表的变体 174 24.5栈和队列 176 24.6优先队列 179 本章小结 180 测试题 181 编程练习题 181 第25章二叉搜索树 183 25.1引言 183 25.2二叉搜索树基础 183 25.3表示二叉搜索树 184 25.4查找一个元素 185 25.5在BST中插入一个元素 185 25.6树的遍历 187 25.7BST类 188 25.8删除BST中的一个元素 197 25.9树的可视化和MVC 202 25.10迭代器 205 25.11示例学习:数据压缩 207 关键术语 211 本章小结 211 测试题 212 编程练习题 212 第26章AVL树 216 26.1引言 216 26.2重新平衡树 217 26.3为AVL树设计类 219 26.4重写insert方法 220 26.5实现旋转 221 26.6实现delete方法 221 26.7AVLTree类 222 26.8测试 AVLTree类 227 26.9AVL树的时间复杂度分析 230 关键术语 231 本章小结 231 测试题 231 编程练习题 231 第27章散列 233 27.1引言 233 27.2什么是散列 233 27.3散列函数和散列码 234 27.3.1基本数据类型的散列码 234 27.3.2字符串的散列码 235 27.3.3压缩散列码 235 27.4使用开放地址法处理冲突 236 27.4.1线性探测法 236 27.4.2二次探测法 237 27.4.3双重散列法 238 27.5使用分离链接法处理冲突 240 27.6装填因子和再散列 241 27.7使用散列实现映射 242 27.8使用散列实现规则集 250 关键术语 256 本章小结 257 测试题 257 编程练习题 257 第28章图及其应用 259 28.1引言 259 28.2基本的图术语 260 28.3表示图 262 28.3.1表示顶点 262 28.3.2表示边:边数组 263 28.3.3表示边:Edge对象 264 28.3.4表示边:邻接矩阵 264 28.3.5表示边:邻接线性表 265 28.4图的建模 267 28.5图的可视化 276 28.6图的遍历 279 28.7深度优先搜索 280 28.7.1DFS算法 280 28.7.2DFS的实现 281 28.7.3DFS的应用 283 28.8示例学习:连通圆问题 283 28.9广度优先搜索 285 28.9.1BFS算法 286 28.9.2BFS的实现 286 28.9.3BFS的应用 288 28.10示例学习:9枚硬币反面问题 288 关键术语 294 本章小结 294 测试题 294 编程练习题 294 第29章加权图及其应用 299 29.1引言 299 29.2加权图的表示 300 29.2.1加权边的表示:边数组 300 29.2.2加权邻接矩阵 301 29.2.3邻接线性表 301 29.3WeightedGraph类 302 29.4最小生成树 309 29.4.1最小生成树算法 310 29.4.2完善Prim的MST算法 311 29.4.3MST算法的实现 312 29.5寻找最短路径 315 29.6示例学习:加权的9枚硬币反面问题 323 关键术语 326 本章小结 326 测试题 326 编程练习题 327 第30章集合流的聚合操作 333 30.1引言 333 30.2流管道 334 30.2.1Stream.of、limit和forEach方法 336 30.2.2sorted方法 336 30.2.3filter方法 337 30.2.4max和min方法 337 30.2.5anyMatch、allMatch和noneMatch方法 337 30.2.6map、distinct和count方法 337 30.2.7findFirst、findAny和toArray方法 338 30.3IntStream、LongStream和DoubleStream 339 30.4并行流 341 30.5使用reduce方法进行流的归约 344 30.6使用collect方法进行流的归约 346 30.7使用groupingBy收集器进行元素分组 349 30.8示例学习 352 30.8.1示例学习:数字分析 352 30.8.2示例学习:计算字母的出现次数 352 30.8.3示例学习:计算字符串中每个字母的出现次数 353 30.8.4示例学习:处理二维数组中的所有元素 354 30.8.5示例学习:得到目录大小 355 30.8.6示例学习:关键字计数 356 30.8.7示例学习:单词出现次数 357 本章小结 358 测试题 359 编程练习题 359 附录AJava关键字和保留字 360 附录BASCII字符集 361 附录C操作符优先级表 362 附录DJava修饰符 363 附录E特殊浮点值 364 附录F数系 365 附录G位操作符 369 附录H正则表达式 370 附录I枚举类型 376 附录J大O、大Ω和大Θ表示法 380 |
随便看 |
|
霍普软件下载网电子书栏目提供海量电子书在线免费阅读及下载。