失效链接处理 |
Java语言程序设计-进阶篇(原书第10版) PDF 下载
本站整理下载:
版权归出版社和原作者所有,链接已删除,请购买正版
用户下载说明:
电子版仅供预览,下载后24小时内务必删除,支持正版,喜欢的请购买正版书籍:
http://product.dangdang.com/688670329.html
相关截图:
![]() 资料简介: 本书是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章线性表、栈、队列和优先队列21 20.1引言21 20.2合集21 20.3迭代器25 20.4线性表26 20.4.1List接口中的通用方法26 20.4.2数组线性表类ArrayList和链表类LinkedList27 20.5Comparator接口30 20.6线性表和合集的静态方法32 20.7示例学习:弹球35 20.8向量类和栈类38 20.9队列和优先队列40 20.9.1Queue接口40 20.9.2双端队列Deque和链表LinkedList40 20.10示例学习:表达式求值43 关键术语47 本章小结47 测试题47 编程练习题47 第21章集合和映射表53 21.1引言53 21.2集合53 21.2.1HashSet54 21.2.2LinkedHashSet57 21.2.3TreeSet58 21.3比较集合和线性表的性能61 21.4示例学习:统计关键字63 21.5映射表65 21.6示例学习:单词的出现次数69 21.7单元素与不可变的合集和映射表71 关键术语72 本章小结72 测试题72 编程练习题72 第22章开发高效算法75 22.1引言75 22.2使用大O符号来衡量算法效率75 22.3示例:确定大O77 22.4分析算法的时间复杂度81 22.4.1分析二分查找算法81 22.4.2分析选择排序算法81 22.4.3分析汉诺塔问题81 22.4.4常用的递推关系82 22.4.5比较常用的增长函数82 22.5使用动态编程计算斐波那契数83 22.6使用欧几里得算法求很大公约数85 22.7寻找素数的高效算法89 22.8使用分而治之法寻找最近的点对94 22.9使用回溯法解决八皇后问题97 22.10计算几何:寻找凸包99 22.10.1卷包裹算法100 22.10.2格雷厄姆算法101 关键术语102 本章小结102 测试题103 编程练习题103 第23章排序109 23.1引言109 23.2插入排序110 23.3冒泡排序112 23.4归并排序114 23.5快速排序117 23.6堆排序121 23.6.1堆的存储122 23.6.2添加一个新的结点122 23.6.3删除根结点123 23.6.4Heap类124 23.6.5使用Heap类进行排序126 23.6.6堆排序的时间复杂度127 23.7桶排序和基数排序128 23.8外部排序129 23.8.1实现阶段Ⅰ131 23.8.2实现阶段Ⅱ132 23.8.3结合两个阶段133 23.8.4外部排序复杂度136 关键术语136 本章小结136 测试题137 编程练习题137 第24章实现线性表、栈、队列和优先队列141 24.1引言141 24.2线性表的通用特性141 24.3数组线性表144 24.4链表151 24.4.1结点151 24.4.2MyLinkedList类153 24.4.3实现MyLinkedList154 24.4.4MyArrayList和MyLinkedList162 24.4.5链表的变体162 24.5栈和队列163 24.6优先队列167 本章小结168 测试题169 编程练习题169 第25章二叉查找树171 25.1引言171 25.2二叉查找树171 25.2.1表示二叉查找树172 25.2.2查找一个元素173 25.2.3在BST中插入一个元素173 25.2.4树的遍历174 25.2.5BST类176 25.3删除BST中的一个元素184 25.4树的可视化和MVC189 25.5迭代器192 25.6示例学习:数据压缩194 关键术语199 本章小结199 测试题199 编程练习题199 第26章AVL树203 26.1引言203 26.2重新平衡树204 26.3为AVL树设计类205 26.4重写insert方法207 26.5实现旋转207 26.6实现delete方法208 26.7AVLTree类209 26.8测试AVLTree类214 26.9AVL树的时间复杂度分析216 关键术语217 本章小结217 测试题217 编程练习题217 第27章散列219 27.1引言219 27.2什么是散列219 27.3散列函数和散列码220 27.3.1基本数据类型的散列码220 27.3.2字符串类型的散列码221 27.3.3压缩散列码221 27.4使用开放地址法处理冲突222 27.4.1线性探测222 27.4.2二次探测法223 27.4.3再哈希法224 27.5使用链地址法处理冲突225 27.6装填因子和再散列226 27.7使用散列实现映射表227 27.8使用散列实现集合235 关键术语241 本章小结242 测试题242 编程练习题242 第28章图及其应用244 28.1引言244 28.2基本的图术语245 28.3表示图247 28.3.1表示顶点247 28.3.2表示边:边数组248 28.3.3表示边:Edge对象248 28.3.4表示边:邻接矩阵249 28.3.5表示边:邻接线性表249 28.4图建模251 28.5图的可视化261 28.6图的遍历263 28.7深度优先搜索(DFS)264 28.7.1DFS的算法264 28.7.2DFS的实现265 28.7.3DFS的应用267 28.8示例学习:连通圆问题268 28.9广度优先搜索(BFS)270 28.9.1BFS的算法270 28.9.2BFS的实现271 28.9.3BFS的应用272 28.10示例学习:9枚硬币反面问题273 关键术语278 本章小结278 测试题278 编程练习题278 第29章加权图及其应用283 29.1引言283 29.2加权图的表示284 29.2.1加权边的表示:边数组284 29.2.2加权邻接矩阵285 29.2.3邻接线性表285 29.3WeightedGraph类286 29.4最小生成树292 29.4.1最小生成树算法293 29.4.2完善Prim的MST算法295 29.4.3MST算法的实现295 29.5寻找最短路径298 29.6示例学习:加权的9枚硬币反面问题305 关键术语308 本章小结308 测试题309 编程练习题309 第30章多线程和并行程序设计314 30.1引言314 30.2线程的概念314 30.3创建任务和线程315 30.4Thread类318 30.5示例学习:闪烁的文本320 30.6线程池322 30.7线程同步324 30.7.1synchronized关键字326 30.7.2同步语句327 30.8利用加锁同步327 30.9线程间协作329 30.10示例学习:生产者/消费者333 30.11阻塞队列336 30.12信号量338 30.13避免死锁339 30.14线程状态340 30.15同步合集341 30.16并行编程342 关键术语346 本章小结346 测试题347 编程练习题347 第31章网络350 31.1引言350 31.2客户端/服务器计算351 31.2.1服务器套接字351 31.2.2客户端套接字351 31.2.3通过套接字进行数据传输352 31.2.4客户端/服务器示例353 31.3InetAddress类357 31.4服务多个客户358 31.5发送和接收对象361 31.6示例学习:分布式井字游戏365 关键术语376 本章小结376 测试题376 编程练习题376 第32章Java数据库程序设计379 32.1引言379 32.2关系型数据库系统379 32.2.1关系结构380 32.2.2完整性约束381 32.3SQL383 32.3.1在MySQL上创建用户账户383 32.3.2创建数据库384 32.3.3创建和删除表385 32.3.4简单插入、更新和删除386 32.3.5简单查询387 32.3.6比较运算符和布尔运算符387 32.3.7操作符like、between—and和isnull388 32.3.8列的别名388 32.3.9算术运算符389 32.3.10显示互不相同的记录389 32.3.11显示排好序的记录390 32.3.12联结表390 32.4JDBC391 32.4.1使用JDBC开发数据库应用程序392 32.4.2从JavaFX访问数据库396 32.5PreparedStatement398 32.6CallableStatement400 32.7获取元数据403 32.7.1数据库元数据403 32.7.2获取数据库表404 32.7.3结果集元数据405 关键术语406 本章小结406 测试题407 编程练习题407 第33章JavaServerFaces411 33.1引言411 33.2开始使用JSF411 33.2.1创建一个JSF项目412 33.2.2一个基本的JSF页面412 33.2.3JSF的受管JavaBean414 33.2.4JSF表达式416 33.3JSFGUI组件418 33.4处理表单421 33.5示例学习:计算器425 33.6会话跟踪428 33.7验证输入430 33.8将数据库与facelet绑定434 33.9打开一个新的JSF页面439 关键术语445 本章小结445 测试题445 编程练习题446 附录AJava关键字451 附录BASCII字符集452 附录C操作符优先级表453 附录DJava修饰符454 附录E特殊浮点值455 附录F数系456 附录G位操作460 附录H正则表达式461 附录I枚举类型465 |