图书介绍

Java软件结构 设计和使用数据结构 第2版PDF|Epub|txt|kindle电子书版本网盘下载

Java软件结构 设计和使用数据结构 第2版
  • (美)John Lewis,(美)Joseph Chase著;任学群译 著
  • 出版社: 北京:清华大学出版社
  • ISBN:7302112630
  • 出版时间:2005
  • 标注页数:443页
  • 文件大小:81MB
  • 文件页数:459页
  • 主题词:JAVA语言-程序设计;数据结构

PDF下载


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

下载说明

Java软件结构 设计和使用数据结构 第2版PDF格式电子书版下载

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

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

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

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

图书目录

目录1

第1章 软件开发1

1.1 软件工程1

专业水准与道德规范2

1.2 软件质量3

正确性3

可靠性3

健壮性4

可用性4

可维护性4

可移植性5

可重用性5

效率6

质量问题6

1.3 开发生命周期模型6

瀑布模型(Waterfall Model)8

螺旋模型(Spiral Model)9

演化开发模型10

1.4 统一建模语言(Unified Modeling Language,UML)10

UML关系11

1.5 错误处理14

1.6 算法分析15

增长函数(Growth Function)及Big O()记法15

增长函数的比较16

循环执行分析17

嵌套循环18

1.7 软件工程与数据结构19

第2章 面向对象设计23

2.1 面向对象内容综述23

2.2 对象的使用24

抽象24

对象的创建25

2.3 类的库与包26

import(导入)声明27

2.4 状态与行为28

2.5 类29

实例数据31

2.6 封装31

可见性修饰符32

局部数据33

2.7 构造函数34

2.8 方法重载34

2.9 再论引用35

空(null)引用36

this引用36

别名38

垃圾回收39

静态变量40

Hashtable类40

2.10 static(静态)修饰符40

将对象作为参数传递40

静态方法41

2.11 包装类41

2.12 接口42

Comparable接口44

Iterator接口44

2.13 继承44

派生类45

protected(保护)修饰符47

super(超级)引用47

方法的重写48

2.14 类的层次结构48

Object类49

抽象类50

接口的层次结构51

2.15 多态52

基于继承的多态53

引用和类的层次结构53

基于接口的多态55

2.16 泛型56

2.17 异常57

异常消息58

try语句58

异常传播59

异常类的层次结构60

第3章 集合66

3.1 集合介绍66

抽象数据类型67

Java集合API69

3.2 set集合69

接口70

迭代器72

异常72

3.3 使用set:bingo73

3.4 实现set:利用数组76

容量的管理77

3.5 ArraySet类77

size运算和isEmpty运算79

add运算80

removeRandom运算82

addAll运算82

remove运算83

union运算84

contains运算85

equals运算85

iterator运算86

3.6 ArraySet的分析88

UML描述88

toString运算88

add的分析89

remove的分析90

removeRandom的分析90

addAll的分析90

find、contains的分析90

union的分析90

equals的分析91

第4章 链式结构94

4.1 用做链接的引用94

4.2 管理链表96

插入节点96

删除节点97

哑节点98

4.3 没有链接的元素98

双向链表99

4.4 实现set:利用链接99

LinkedSet类100

add运算102

removeRandom运算103

remove运算104

iterator运算105

4.5 LinkedSet的分析107

add的分析107

remove的分析108

removeRandom的分析108

第5章 Black Jack111

5.1 BlackJack游戏111

5.2 初始设计111

Card类115

5.3 实现Black Jack游戏115

Deck类117

Hand类122

BlackJack类125

BlackJackGUI类128

BlackJackDemo类135

第6章 堆栈137

6.1 堆栈ADT137

6.2 堆栈的使用:计算后缀表达式的值140

6.3 堆栈的使用:穿越迷宫146

6.4 堆栈的实现:链接实现151

push操作151

pop操作152

其他操作153

6.5 堆栈的实现:数组实现153

push操作154

pop操作154

其他操作155

6.6 堆栈的实现:java.util.Stack类156

惟一操作156

继承和实现156

6.7 堆栈实现的分析157

push操作的分析157

pop操作的分析158

第7章 队列162

7.1 队列ADT162

7.2 使用队列:代码密钥164

7.3 使用队列:售票口模拟167

7.4 使用队列:基数排序171

enqueue运算175

7.5 实现队列:利用链接175

dequeue运算176

7.6 实现队列:利用数组178

enqueue运算178

其他运算178

dequeue运算179

其他运算180

7.7 实现队列:利用环形数组181

7.8 分析各种队列实现184

enqueue184

递增count184

dequeue185

第8章 列表190

8.1 列表ADT(AbstractData Type,抽象数据类型)190

8.2 运用有序列表:锦标赛主办者196

8.3 运用索引表:Josephus问题201

8.4 实现列表:利用数组203

remove操作204

Contains操作206

有序列表的添加(add)操作206

无序列表的特有操作207

索引列表的特有操作207

8.5 实现列表:利用链接208

remove操作208

双向链表209

8.6 列表的实现分析212

无序列表的实现分析214

有序列表的实现分析214

索引列表的实现分析216

第9章 计算器220

9.1 计算器220

9.2 初始设计220

9.3 实现计算器224

infixToPostfix类224

listPostfixEvaluator类228

CalculatorGUI类230

CalculatorDemo类235

第10章 递归238

10.1 递归地思考238

无穷递归239

数学中的递归240

10.2 递归地编程240

递归与迭代242

直接递归与间接递归243

10.3 使用递归243

游历迷宫243

河内塔247

10.4 分析递归算法251

第11章 排序和查找256

11.1 查找256

线性查找法257

二分查找法258

查找算法的比较260

11.2 排序261

选择排序法263

插入排序法265

冒泡排序法266

快速排序法268

归并排序法270

第12章 树275

12.1 树275

树的分类276

12.2 树的实现策略278

树的数组实现之计算策略278

树的数组实现之模拟链接策略279

树的分析279

12.3 树的遍历280

前序遍历280

中序遍历281

后序遍历282

层序遍历282

12.4 二叉树的实现283

removeLeftSubtree方法288

find方法289

iteratorInOrder方法290

12.5 二叉树的使用:表达式树291

13.1 二叉查找树302

第13章 二叉查找树302

13.2 实现二叉查找树:利用链接304

addElement运算304

removeElement运算306

removeAllOccurrences运算309

removeMin运算310

13.3 使用二叉查找树:实现有序列表310

BinarySearchTreeList实现的分析313

13.4 平衡二叉查找树314

右旋314

左旋315

右左旋315

左右旋316

13.5 实现二叉查找树:AVL树317

AVL树中的右旋317

AVL树中的左旋317

AVL树中的右左旋318

AVL树中的左右旋318

13.6 实现二叉查找树:红黑树319

红黑树中的插入320

红黑树中的元素删除322

13.7 实现二叉查找树:Java集合API324

14.2 初始设计331

第14章 祖先树331

14.1 祖先树331

14.3 祖先树的实现335

Person类335

AncestorTreeNode类335

AncestorTree类336

AncestorGUI类345

AncestorDemo类358

第15章 堆361

15.1 堆361

addElement操作362

removeMin操作363

findMin操作364

15.2 堆的使用:堆排序365

15.3 堆的使用:优先级队列365

15.4 堆的实现:利用链接368

addElement操作368

removeMin操作371

addElement操作373

15.5 堆的实现:利用数组373

findMin操作373

removeMin操作374

findMin操作376

addElement操作376

removeMin操作376

15.6 堆实现的分析376

findMin操作377

堆排序377

16.2 2-3树381

16.1 整合树的概念381

第16章 多路查找树381

向2-3树中插入元素382

从2-3树中删除元素384

16.3 2-4树387

16.4 B树388

16.5 创建和使用B树的动因388

B*树389

B+树389

B树的分析390

16.6 B树的实现策略390

第17章 散列(Hashing)394

17.1 散列394

除法方法396

17.2 散列函数396

折叠法397

平方取中间值法397

基数转换法397

数字分析法398

长度依赖法398

Java语言中的散列函数398

17.3 解决冲突398

链锁法399

开地址400

17.4 从散列表删除元素402

从链锁式实现中删除402

从开地址实现中删除403

17.5 Java集合API中的散列表403

HashSet类405

HashMap类406

IdentityHashMap类406

WeakHashMap类407

LinkedHashSet与LinkedHashMap408

第18章 图413

18.1 无向图413

18.2 有向图415

18.3 网络416

18.4 常见的图算法417

遍历417

测试连通性421

最小生成树422

判定最短路径424

18.5 图的实现策略425

邻接表425

邻接矩阵426

第19章 Web爬虫工具430

19.1 Web爬虫工具430

19.2 初始设计430

19.3 实现Web爬虫工具432

WebCrawler类433

WebcrawlerGUI类439

WebCrawlerDemo类441

热门推荐