图书介绍

计算机科学丛书 Java语言程序设计 进阶篇 原书第10版PDF|Epub|txt|kindle电子书版本网盘下载

计算机科学丛书 Java语言程序设计 进阶篇 原书第10版
  • (美)梁勇(Y.DanielLiang) 著
  • 出版社: 北京:机械工业出版社
  • ISBN:9787111548560
  • 出版时间:2016
  • 标注页数:468页
  • 文件大小:67MB
  • 文件页数:491页
  • 主题词:JAVA语言-程序设计

PDF下载


点此进入-本书在线PDF格式电子书下载【推荐-云解压-方便快捷】直接下载PDF格式图书。移动端-PC端通用
种子下载[BT下载速度快]温馨提示:(请使用BT下载软件FDM进行下载)软件下载地址页直链下载[便捷但速度慢]  [在线试读本书]   [在线获取解压码]

下载说明

计算机科学丛书 Java语言程序设计 进阶篇 原书第10版PDF格式电子书版下载

下载的文件为RAR压缩包。需要使用解压软件进行解压得到PDF格式图书。

建议使用BT下载工具Free Download Manager进行下载,简称FDM(免费,没有广告,支持多平台)。本站资源全部打包为BT种子。所以需要使用专业的BT下载软件进行下载。如BitComet qBittorrent uTorrent等BT下载工具。迅雷目前由于本站不是热门资源。不推荐使用!后期资源热门了。安装了迅雷也可以迅雷进行下载!

(文件页数 要大于 标注页数,上中下等多册电子书除外)

注意:本站所有压缩包均有解压码: 点击下载压缩包解压工具

图书目录

第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.1 List接口中的通用方法26

20.4.2 数组线性表类ArrayList和链表类LinkedList27

20.5 Comparator接口30

20.6 线性表和合集的静态方法32

20.7 示例学习:弹球35

20.8 向量类和栈类38

20.9 队列和优先队列40

20.9.1 Queue接口40

20.9.2 双端队列Deque和链表LinkedList40

20.10 示例学习:表达式求值43

关键术语47

本章小结47

测试题47

编程练习题47

第21章 集合和映射表53

21.1 引言53

21.2 集合53

21.2.1 HashSet54

21.2.2 LinkedHashSet57

21.2.3 TreeSet58

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.4 Heap类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.2 MyLinkedList类153

24.4.3 实现MyLinkedList154

24.4.4 MyArrayList和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.5 BST类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.7 AVLTree类209

26.8 测试AVLTree类214

26.9 AVL树的时间复杂度分析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.1 DFS的算法264

28.7.2 DFS的实现265

28.7.3 DFS的应用267

28.8 示例学习:连通圆问题268

28.9 广度优先搜索(BFS)270

28.9.1 BFS的算法270

28.9.2 BFS的实现271

28.9.3 BFS的应用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.3 WeightedGraph类286

29.4 最小生成树292

29.4.1 最小生成树算法293

29.4.2 完善Prim的MST算法295

29.4.3 MST算法的实现295

29.5 寻找最短路径298

29.6 示例学习:加权的9枚硬币反面问题305

关键术语308

本章小结308

测试题309

编程练习题309

第30章 多线程和并行程序设计314

30.1 引言314

30.2 线程的概念314

30.3 创建任务和线程315

30.4 Thread类318

30.5 示例学习:闪烁的文本320

30.6 线程池322

30.7 线程同步324

30.7.1 synchronized关键字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.3 InetAddress类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.3 SQL383

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和is null388

32.3.8 列的别名388

32.3.9 算术运算符389

32.3.10 显示互不相同的记录389

32.3.11 显示排好序的记录390

32.3.12 联结表390

32.4 JDBC391

32.4.1 使用JDBC开发数据库应用程序392

32.4.2 从JavaFX访问数据库396

32.5 PreparedStatement398

32.6 CallableStatement400

32.7 获取元数据403

32.7.1 数据库元数据403

32.7.2 获取数据库表404

32.7.3 结果集元数据405

关键术语406

本章小结406

测试题407

编程练习题407

第33章 JavaServer Faces411

33.1 引言411

33.2 开始使用JSF411

33.2.1 创建一个JSF项目412

33.2.2 一个基本的JSF页面412

33.2.3 JSF的受管JavaBean414

33.2.4 JSF表达式416

33.3 JSF GUI组件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

附录A Java关键字451

附录B ASCⅡ字符集452

附录C 操作符优先级表453

附录D Java修饰符454

附录E 特殊浮点值455

附录F 数系456

附录G 位操作460

附录H 正则表达式461

附录I 枚举类型465

热门推荐