图书介绍
数据抽象和问题求解 Java语言描述2025|PDF|Epub|mobi|kindle电子书版本百度云盘下载

- (美)Frank M.Carrano,(美)Janet J.Prichard著;韩志宏译 著
- 出版社: 北京:清华大学出版社
- ISBN:7302099464
- 出版时间:2005
- 标注页数:577页
- 文件大小:42MB
- 文件页数:597页
- 主题词:JAVA语言-程序设计
PDF下载
下载说明
数据抽象和问题求解 Java语言描述PDF格式电子书版下载
下载的文件为RAR压缩包。需要使用解压软件进行解压得到PDF格式图书。建议使用BT下载工具Free Download Manager进行下载,简称FDM(免费,没有广告,支持多平台)。本站资源全部打包为BT种子。所以需要使用专业的BT下载软件进行下载。如BitComet qBittorrent uTorrent等BT下载工具。迅雷目前由于本站不是热门资源。不推荐使用!后期资源热门了。安装了迅雷也可以迅雷进行下载!
(文件页数 要大于 标注页数,上中下等多册电子书除外)
注意:本站所有压缩包均有解压码: 点击下载压缩包解压工具
图书目录
目录3
第Ⅰ部分 问题求解技术3
第1章 编程原理与软件工程3
1.1 问题求解与软件工程3
1.1.1 问题求解的含义3
1.1.2 软件的生命周期4
1.1.3 优秀解决方案的定义10
1.2.1 抽象与信息隐藏11
1.2 模块化设计11
1.2.2 面向对象的设计13
1.2.3 自上而下的设计14
1.2.4 一般设计原则15
1.3 关键编程问题15
1.3.1 模块化15
1.3.2 可修改16
1.3.3 易用17
1.3.4 防故障编程18
1.3.5 风格22
1.3.6 调试25
1.4 小结27
1.5 提示28
1.6 自我测试题28
1.7 练习题28
1.8 编程问题30
第2章 递归:镜子32
2.1 递归解决方案32
2.1.1 递归值方法:n的阶乘34
2.1.2 递归void方法:逆置字符串40
2.2 计数47
2.2.1 兔子繁殖47
2.2.2 组织游行队伍50
2.2.3 Spock的困惑51
2.3 数组查找52
2.3.1 查找数组最大项53
2.3.2 折半查找54
2.3.3 查找数组中第k个最小项57
2.4 组织数据59
2.5 递归与效率64
2.6 小结66
2.7 提示67
2.8 自我测试题67
2.9 练习题68
2.10 编程问题73
第3章 数据抽象:墙74
3.1 抽象数据类型74
3.2 指定ADT77
3.2.1 ADT列表78
3.2.2 ADT有序表81
3.2.3 设计ADT82
3.2.4 公理85
3.3 实现ADT87
3.3.1 Java类88
3.3.2 Java接口94
3.3.3 Java异常95
3.3.4 基于数组的ADT列表实现96
3.4 小结102
3.6 自我测试题103
3.5 提示103
3.7 练习题104
3.8 编程问题105
第4章 链表107
4.1 预备知识107
4.1.1 对象引用108
4.1.2 变长数组111
4.1.3 基于引用的链表112
4.2.1 显示链表内容115
4.2 链表编程115
4.2.2 从链表中删除指定节点117
4.2.3 在链表特殊位置插入节点118
4.2.4 ADT列表的基于引用的实现123
4.2.5 比较基于数组的实现和基于引用的实现127
4.2.6 将链表传给方法128
4.2.7 递归地处理链表129
4.3 链表的各种变化133
4.3.1 尾引用133
4.3.2 循环链表134
4.3.3 虚拟头节点135
4.3.4 双向链表136
4.4 清单应用程序138
4.5 小结142
4.6 提示144
4.7 自我测试题144
4.8 练习题145
4.9 编程问题147
5.1 回溯150
第5章 递归问题求解技术150
5.2 定义语言154
5.2.1 语法知识基础155
5.2.2 两种简单语言156
5.2.3 代数表达式158
5.3 递归和数学归纳法的关系165
5.3.1 factorial递归算法的正确性165
5.3.2 Hanoi塔的成本166
5.4 小结167
5.7 练习题168
5.6 自我测试题168
5.5 提示168
5.8 编程问题171
第Ⅱ部分 使用抽象数据类型解决问题177
第6章 栈177
6.1 抽象数据类型177
6.2 ADT栈的简单应用181
6.2.1 检查括号匹配181
6.2.2 识别语言中的字符串184
6.3 ADT栈的实现185
6.3.1 ADT栈的基本数组的实现186
6.3.2 ADT栈的基于引用的实现188
6.3.3 使用ADT列表的实现190
6.3.4 各种实现方式的比较191
6.4 应用:代数表达式191
6.4.1 计算后缀表达式192
6.4.2 中缀表达式与后缀表达式的等价转换193
6.5 应用:查找问题195
6.5.1 使用栈的非递归解决方案196
6.5.2 递归解决方案202
6.6 栈和递归的关系204
6.7 小结205
6.8 提示206
6.9 自我测试题206
6.10 练习题207
6.11 编程问题209
第7章 队列214
7.1 ADT队列214
7.2.1 读取字符串215
7.2 ADT队列的简单应用215
7.2.2 识别同文216
7.3 实现ADT队列217
7.3.1 基于引用的实现217
7.3.2 基于数组的实现221
7.3.3 用ADT列表的实现225
7.3.4 实现比较226
7.4 基于位置的ADT总览227
7.5 模拟应用227
7.8 自我测试题235
7.7 提示235
7.6 小结235
7.9 练习题236
7.10 编程问题238
第8章 类关系241
8.1 继承241
8.1.1 Java包245
8.1.2 Java访问修饰符246
8.1.3 is-a和has-a关系247
8.2 动态绑定和抽象类248
8.2.1 抽象类251
8.2.2 Java接口254
8.3 ADT列表和有序表255
8.3.1 列表迭代器的实现256
8.3.2 使用ADT列表的ADT有序表的实现259
8.4 面向对象方法的优势262
8.5 小结263
8.6 提示263
8.7 自我测试题263
8.8 练习题264
8.9 编程问题265
第9章 算法效率和排序268
9.1 确定算法效率268
9.1.1 算法的执行时间269
9.1.2 算法增率270
9.1.3 数量阶分析和大O表示法271
9.1.4 正确分析问题273
9.1.5 查找算法的效率275
9.2.1 选择排序276
9.2 排序算法及其效率276
9.2.2 起泡排序279
9.2.3 插入排序280
9.2.4 归并排序282
9.2.5 快速排序287
9.2.6 基数排序295
9.2.7 各种排序算法的比较297
9.3 小结297
9.4 提示298
9.5 自我测试题298
9.6 练习题299
9.7 编程问题301
第10章 树303
10.1 术语303
10.2 ADT二叉树309
10.2.1 ADT二叉树的基本操作309
10.2.2 ADT二叉树的一般操作310
10.2.3 二叉树的遍历311
10.2.4 二叉树的表示313
10.2.5 ADT二叉树的基于引用的实现316
10.2.6 用迭代器遍历树320
10.3 ADT二叉查找树326
10.3.1 ADT二叉查找树的操作算法329
10.3.2 ADT二叉查找树的基于引用的实现341
10.3.3 二叉查找树操作的效率344
10.3.4 树排序347
10.3.5 将二叉查找树保存到文件347
1 0.4 一般树350
10.5 小结351
10.7 自我测试题352
10.6 提示352
10.8 练习题353
10.9 编程问题358
第11章 表和优先队列361
11.1 ADT表361
11.1.1 选择实现365
11.1.2 ADT表的基于数组的有序实现370
11.1.3 ADT表的二叉查找树实现372
11.2 ADT优先队列:ADT表的变体374
11.2.1 堆376
11.2.2 ADT优先队列的堆实现382
11.2.3 堆排序383
11.3 小结387
11.4 提示387
11.5 自我测试题387
11.6 练习题388
11.7 编程问题390
第12章 表的高级实现391
12.1 平衡查找树391
12.1.1 2-3树392
12.1.2 2-3-4树407
12.1.3 红-黑树412
12.1.4 AVL树415
12.2 散列418
12.2.1 散列函数421
12.2.2 解决冲突423
12.2.3 散列效率429
12.2.4 如何确立散列函数431
12.3 按多种形式组织数据433
12.2.5 表遍历:散列的低效操作433
12.4 小结437
12.5 提示438
12.6 自我测试题438
12.7 练习题438
12.8 编程问题440
第13章 图442
13.1 术语442
13.2 将图作为ADT444
13.3 图的遍历447
13.3.1 深度优先查找448
13.3.2 广度优先查找450
13.4 图的应用451
13.4.1 拓扑排序451
13.4.2 生成树454
13.4.3 最小生成树456
13.4.4 最短路径459
13.4.5 回路462
13.4.6 一些复杂问题464
13.5 小结465
13.6 提示465
13.7 自我测试题465
13.8 练习题466
13.9 编程问题468
第14章 外部方法469
14.1 了解外部存储469
14.2 排序外部文件的数据471
14.3 外部表477
14.3.1 确定外部文件的索引478
14.3.2 外部散列481
14.3.3 B-树484
14.3.4 遍历491
14.3.5 多索引492
14.4 小结493
14.5 提示494
14.6 自我测试题494
14.7 练习题494
14.8 编程练习496
A.1 程序结构497
附录A Java基本原理497
A.1.1 包498
A.1.2 类498
A.1.3 数据字段499
A.1.4 方法499
A.1.5 对象成员的访问方法501
A.2 Java语言基础知识501
A.2.1 注释501
A.2.4 基本数据类型502
A.2.3 变量502
A.2.2 标识符和关键词502
A.2.5 引用503
A.2.6 字面常量503
A.2.7 命名常量504
A.2.8 赋值和表达式504
A.2.9 数组506
A.3 有用的Java类509
A.3.1 Obiect类509
A.3.2 字符串类509
A.4.1 捕获异常513
A.4 Java异常513
A.4.2 抛出异常517
A.5 文本输入和输出519
A.5.1 输入519
A.5.2 输出519
A.6 选择语句520
A.6.1 if语句520
A.6.2 switch语句521
A.7.1 while语句522
A.7 迭代语句522
A.7.2 for语句523
A.7.3 do语句525
A.8 文件输入和输出526
A.8.1 文本文件527
A.8.2 对象串行化532
A.9 比较Java和C++533
A.10 小结536
A.11 提示539
附录B 统一字符代码540
附录C Java资源542
C.1 Java Web站点542
C.2 使用Java 2软件开发包542
附录D 数学归纳法544
D.1 公理1544
D.2 公理2545
D.3 自我测试题547
D.4 练习题547
附录E Java操作符548
热门推荐
- 3873141.html
- 1238745.html
- 3009168.html
- 594574.html
- 1030517.html
- 2561126.html
- 3843302.html
- 1032746.html
- 3140848.html
- 276824.html
- http://www.ickdjs.cc/book_269924.html
- http://www.ickdjs.cc/book_2072815.html
- http://www.ickdjs.cc/book_3852449.html
- http://www.ickdjs.cc/book_2899538.html
- http://www.ickdjs.cc/book_2179308.html
- http://www.ickdjs.cc/book_179099.html
- http://www.ickdjs.cc/book_94858.html
- http://www.ickdjs.cc/book_500286.html
- http://www.ickdjs.cc/book_2919849.html
- http://www.ickdjs.cc/book_997575.html