Java软件结构与数据结构 4版PDF电子书下载
- 电子书积分:15 积分如何计算积分?
- 作 者:(美)刘易斯,(美)蔡斯著
- 出 版 社:北京:清华大学出版社
- 出版年份:2014
- ISBN:9787302346708
- 页数:481 页
第1章 概述 1
1.1软件质量 1
1.1.1正确性 2
1.1.2可靠性 2
1.1.3健壮性 3
1.1.4可用性 3
1.1.5可维护性 3
1.1.6可重用性 4
1.1.7可移植性 4
1.1.8运行效率 4
1.1.9质量问题 5
1.2数据结构 5
1.2.1一个物理示例 5
1.2.2以集装箱作为对象 7
关键概念 7
主要术语 8
自测题 8
练习题 8
自测题答案 9
第2章 算法分析 10
2.1算法效率分析 10
2.2增长函数与大O记法 11
2.3增长函数的比较 13
2.4时间复杂度分析 14
2.4.1循环运行的复杂度分析 14
2.4.2嵌套循环的复杂度分析 15
2.4.3方法调用的复杂度分析 16
关键概念 17
主要术语 17
自测题 18
练习题 18
自测题答案 18
参考文献 19
第3章 集合概述——栈 20
3.1集合 20
3.1.1抽象数据类型 21
3.1.2 Java集合API 22
3.2栈集合 23
3.3主要的面向对象概念 24
3.3.1继承与多态性 24
3.3.2泛型 25
3.4使用栈计算后缀表达式 26
3.4.1 Javadoc 32
3.5异常 33
3.6栈ADT 34
3.7用数组实现栈 36
3.7.1管理容量 37
3.8 ArrayStack类 38
3.8.1构造函数 39
3.8.2 push操作 40
3.8.3 pop操作 41
3.8.4 peek操作 42
3.8.5其他操作 42
3.8.6 EmptyCollectionException类 43
3.8.7其他实现 43
关键概念 44
主要术语 44
自测题 45
练习题 45
程序设计项目 46
自测题答案 47
第4章 链式结构——栈 48
4.1链接作为引用 48
4.2管理链表 50
4.2.1访问元素 50
4.2.2插入结点 51
4.2.3删除结点 51
4.3无链接的元素 52
4.3.1双向链表 52
4.4 Java API中的栈 53
4.5使用栈来穿越迷宫 53
4.6用链表实现栈 61
4.6.1 LinkedStack类 62
4.6.2 push操作 65
4.6.3 pop操作 65
4.6.4其他操作 66
关键概念 67
主要术语 67
自测题 67
练习题 68
程序设计项目 68
自测题答案 68
第5章 队列 70
5.1概述 70
5.2 Java API中的队列 71
5.3使用队列:代码密钥 72
5.4使用队列:售票口模拟 75
5.5队列ADT 79
5.6用链表实现队列 81
5.6.1 enqueue操作 82
5.6.2 dequeue操作 83
5.6.3其他操作 84
5.7用数组实现队列 84
5.7.1 enqueue操作 87
5.7.2 dequeue操作 89
5.7.3其他操作 89
5.8双端队列 89
关键概念 90
主要术语 90
自测题 90
练习题 90
程序设计项目 91
自测题答案 92
第6章 列表 93
6.1列表集合 93
6.2 Java集合API中的列表 95
6.3使用无序列表:学习计划 95
6.4索引列表使用示例:Josephus问题 105
6.5列表ADT 107
6.5.1往列表中添加元素 107
6.6使用数组实现列表 112
6.6.1 remove操作 113
6.6.2 contains操作 115
6.6.3有序列表的add操作 116
6.6.4无序列表的特有操作 117
6.6.5无序列表的addAfter操作 117
6.7使用链表实现列表 118
6.7.1 remove操作 119
关键概念 120
主要术语 120
自测题 121
练习题 121
程序设计项目 122
自测题答案 123
第7章 迭代器 124
7.1何谓迭代器 124
7.1.1迭代器的其他问题 126
7.2使用迭代:再论学习计划程序 126
7.2.1显示某些课程 130
7.2.2删除课程 131
7.3用数组实现迭代器 132
7.4用链表实现迭代器 135
关键概念 136
主要术语 137
自测题 137
练习题 137
自测题答案 137
第8章 递归 138
8.1递归地思考 138
8.1.1无穷递归 139
8.1.2数学中的递归 140
8.2递归地编程 140
8.2.1递归与迭代 142
8.2.2直接递归与间接递归 143
8.3使用递归 143
8.3.1穿越迷宫 143
8.3.2汉诺塔 150
8.4递归算法分析 154
关键概念 155
主要术语 156
自测题 156
练习题 156
程序设计项目 157
自测题答案 158
第9章 排序与查找 159
9.1查找 159
9.1.1静态方法 160
9.1.2泛型方法 160
9.1.3线性查找法 161
9.1.4.二分查找法 162
9.1.5查找算法的比较 164
9.2排序 165
9.2.1选择排序法 168
9.2.2插入排序法 170
9.2.3冒泡排序法 171
9.2.4快速排序法 173
9.2.5归并排序法 175
9.3基数排序法 178
关键概念 181
主要术语 182
自测题 183
练习题 183
程序设计项目 184
自测题答案 185
第10章树 186
10.1概述 186
10.1.1树的分类 187
10.2实现树的策略 188
10.2.1树的数组实现之计算策略 188
10.2.2树的数组实现之模拟链接策略 189
10.2.3树的分析 190
10.3树的遍历 190
10.3.1前序遍历 191
10.3.2中序遍历 191
10.3.3后序遍历 192
10.3.4层序遍历 193
10.4二叉树 193
10.5使用二叉树:表达式树 197
10.6背部疼痛诊断器 208
10.7用链表实现二叉树 212
10.7.1 fiind方法 216
10.7.2 iteratorInOrder方法 217
关键概念 218
主要术语 219
自测题 220
练习题 220
程序设计项目 220
自测题答案 221
第11章 二叉查找树 222
11.1概述 222
11.2用链表实现二叉查找树 224
11.2.1 addElement操作 225
11.2.2 removeElement操作 227
11.2.3 removeAllOccurrences操作 231
11.2.4 removeMin操作 232
11.3用有序列表实现二叉查找树 233
11.3.1 BinarySearchTreeList实现的分析 236
11.4平衡二叉查找树 237
11.4.1右旋 238
11.4.2左旋 238
11.4.3右左旋 238
11.4.4左右旋 239
11.5实现二叉查找树:AVL树 239
11.5.1 AVL树的右旋 240
11.5.2 AVL树的左旋 240
11.5.3 AVL树的右左旋 241
11.5.4 AVL树的左右旋 241
11.6实现二叉查找树:红黑树 242
11.6.1红黑树中的元素插入 242
11.6.2红黑树中的元素删除 244
关键概念 246
主要术语 246
自测题 247
练习题 247
程序设计项目 248
自测题答案 248
参考文献 250
第12章 优先队列与堆 251
12.1堆 251
12.1.1 addElement操作 253
12.1.2 removeMin操作 254
12.1.3 fiindMin操作 255
12.2使用堆:优先级队列 255
12.3用链表实现堆 259
12.3.1 addElement操作 260
12.3.2 removeMin操作 262
12.3.3 fiindMin操作 265
12.4用数组实现堆 265
12.4.1 addElement操作 267
12.4.2 removeMin操作 268
12.4.3 fiindMin操作 270
12.5使用堆:堆排序 270
关键概念 271
主要术语 272
自测题 272
练习题 273
程序设计项目 273
自测题答案 274
第13章 Set与Map集合 275
13.1概述 275
13.2 Java API中的Set和Map 276
13.3使用Set集合:域阻塞器 278
13.4使用Map集合:产品销售 281
13.5使用Map集合:用户管理 284
13.6使用树来实现Set和Map集合 288
13.7使用散列来实现Set和Map集合 289
关键概念 291
主要术语 292
自测题 292
练习题 292
程序设计项目 293
自测题答案 293
第14章 多路查找树 294
14.1整合树的概念 294
14.2 2-3树 294
14.2.1往2-3树中插入元素 295
14.2.2从2-3树中删除元素 297
14.3 2-4树 299
14.4 B树 300
14.4.1 B*树 301
14.4.2 B+树 301
14.4.3 B树的分析 302
14.5 B树的实现策略 302
关键概念 303
主要术语 303
自测题 304
练习题 304
程序设计项目 304
自测题答案 305
参考文献 305
第15章图 306
15.1无向图 306
15.2有向图 308
15.3网络 309
15.4常用的图算法 310
15.4.1遍历 310
15.4.2测试连通性 313
15.4.3最小生成树 314
15.4.4判定最短路径 317
15.5图的实现策略 317
15.5.1邻接列表 317
15.5.2邻接矩阵 318
15.6用邻接矩阵实现无向图 319
15.6.1 addEdge方法 323
15.6.2 addVertex方法 323
15.6.3 expandCapacity方法 324
15.6.4其他方法 325
关键概念 325
主要术语 325
自测题 326
练习题 326
程序设计项目 327
自测题答案 327
参考文献 328
附录A UML 329
A.1统一建模语言 329
A.2 UML类图 329
A.3 UML关系 330
关键概念 332
自测题 333
练习题 333
自测题答案 333
附录B 面向对象设计 334
B.1概述 334
B.2使用对象 335
B.2.1抽象 335
B.2.2创建对象 336
B.3类库与包 337
B.3.1 import声明 338
B.4状态与行为 338
B.5类 339
B.5.1实例数据 342
B.6封装 342
B.6.1可见性修饰符 343
B.6.2局部数据 344
B.7构造函数 344
B.8方法重载 345
B.9再谈引用 346
B.9.1空引用 346
B.9.2 this引用 347
B.9.3别名 348
B.9.4垃圾回收 350
B.9.5将对象作为参数传递 350
B.10 static修饰符 351
B.10.1静态变量 351
B.10.2静态方法 352
B.11包装类 352
B.12接口 353
B.12.1 Comparable接口 355
B.12.2 Iterator接口 355
B.13继承 355
B.13.1派生类 356
B.13.2 protected修饰符 358
B.13.3 super引用 358
B.13.4重载方法 359
B.14类的层次结构 359
B.14.1 Object类 360
B.14.2抽象类 361
B.14.3接口的层次结构 362
B.15 多态性 363
B.15.1引用和类的层次结构 363
B.15.2基于继承的多态性 364
B.15.3基于接口的多态性 365
B.16异常 367
B.16.1异常消息 367
B.16.2 try语句 368
B.16.3异常传播 369
B.16.4异常类的层次结构 369
关键概念 370
自测题 372
练习题 373
程序设计项目 373
自测题答案 375
附录C Java图形编程 376
C.1像素与坐标 376
C.2颜色表示 376
C.3绘制图形 377
C.4多边形与多直线 384
C.4 Ploygon类 387
练习题 388
程序设计项目 388
附录D图形用户接口 391
D.1 GUI的构成 391
D.1.1框架与面板 394
D.1.2按钮与动作事件 395
D.1.3确定事件源 396
D.2更多GUI组件 399
D.2.1文本域 399
D.2.2核选框 402
D.2.3单选按钮 405
D.2.4滑块 408
D.2.5组合框 412
D.2.6计时器 416
D.3布局管理器 420
D.3.1流水布局管理器 422
D.3.2边界布局管理器 424
D.3.3网格布局管理器 426
D.3.4方框布局管理器 428
D.3.5包容分层结构 430
D.4鼠标与按键事件 430
D.4. 鼠标事件 430
D.4.2按键事件 437
D.4.3扩展适配器类 441
D.5对话框 441
D.5.1文件选择器 443
D.5.2颜色选择器 446
D.6一些重要细节 446
D.6.1边框 446
D.6.2工具提示与助记符 450
D.7 GUI设计 455
关键概念 455
自测题 456
练习题 457
程序设计项目 457
自测题答案 459
附录E 散列 461
E.1概述 461
E.2散列函数 463
E.2.1余数法 463
E.2.2折叠法 463
E.2.3平方取中法 464
E.2.4基数转换法 464
E.2.5数字分析法 464
E.2.6长度相关法 465
E.2.7 Java语言中的散列函数 465
E.3解决冲突 465
E.3.1链地址法 466
E.3.2开放地址法 467
E.4从散列表删除元素 469
E.4.1从链地址实现中删除 470
E.4.2从开放地址实现中删除 470
E.5 Java集合API中的散列表 471
E.5.1 Hashtable类 471
E.5.2 HashSet类 472
E.5.3 HashMap类 473
E.5.4 IdentityHashMap类 474
E.5.5 WeakHashMap类 475
E.5.6 LinkedHashSet与LinkedHashMap 476
关键概念 477
自测题 477
练习题 478
程序设计项目 478
自测题答案 479
附录F正则表达式 481
- 《SQL与关系数据库理论》(美)戴特(C.J.Date) 2019
- 《联吡啶基钌光敏染料的结构与性能的理论研究》李明霞 2019
- 《异质性条件下技术创新最优市场结构研究 以中国高技术产业为例》千慧雄 2019
- 《数据库技术与应用 Access 2010 微课版 第2版》刘卫国主编 2020
- 《软件工程》齐治昌,谭庆平,宁洪编著 2019
- 《大数据Hadoop 3.X分布式处理实战》吴章勇,杨强 2020
- 《Power BI数据清洗与可视化交互式分析》陈剑 2020
- 《数据失控》(美)约翰·切尼-利波尔德(John Cheney-Lippold)著 2019
- 《中国生态系统定位观测与研究数据集 森林生态系统卷 云南西双版纳》邓晓保·唐建维 2010
- 《穿越数据的迷宫 数据管理执行指南》Laura Sebastian-Coleman 2020
- 《大学计算机实验指导及习题解答》曹成志,宋长龙 2019
- 《指向核心素养 北京十一学校名师教学设计 英语 七年级 上 配人教版》周志英总主编 2019
- 《大学生心理健康与人生发展》王琳责任编辑;(中国)肖宇 2019
- 《大学英语四级考试全真试题 标准模拟 四级》汪开虎主编 2012
- 《大学英语教学的跨文化交际视角研究与创新发展》许丽云,刘枫,尚利明著 2020
- 《北京生态环境保护》《北京环境保护丛书》编委会编著 2018
- 《复旦大学新闻学院教授学术丛书 新闻实务随想录》刘海贵 2019
- 《大学英语综合教程 1》王佃春,骆敏主编 2015
- 《大学物理简明教程 下 第2版》施卫主编 2020
- 《指向核心素养 北京十一学校名师教学设计 英语 九年级 上 配人教版》周志英总主编 2019