Java软体结构与数据结构(第4版)

生活百科 2023-01-25 21:22生活百科www.aizhengw.cn

Java软体结构与数据结构(第4版)

《Java软体结构与数据结构(第4版)》是2014年清华大学出版社出版的图书。

基本介绍

  • 书名Java软体结构与数据结构(第4版)
  • ISBN9787302346708
  • 出版社清华大学出版社

图书详细信息

ISBN9787302346708
定价79元
印次1-2
装帧平装
印刷日期2014-12-12

图书简介

这是这本畅销书的最新版——第4版了,着名作者John Lewis与Joseph Chase在前几版的成功基础上,根据使用本书做教材的教师和学生的反馈,在新版中进行了大量改进,以更好地适应教学需要。

图书目录

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 find方法 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 findMin操作 255
12.2 使用堆优先权伫列 255
12.3 用鍊表实现堆 259
12.3.1 addElement操作 260
12.3.2 removeMin操作 262
12.3.3 findMin操作 265
12.4 用数组实现堆 265
12.4.1 addElement操作 267
12.4.2 removeMin操作 268
12.4.3 findMin操作 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.1 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.1 滑鼠事件 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
上一篇:HWMonitor 下一篇:Excel VBA基础与实例套用

Copyright@2015-2025 www.aizhengw.cn 癌症网版板所有