图书介绍

Java软件结构与数据结构 4版【2025|PDF下载-Epub版本|mobi电子书|kindle百度云盘下载】

Java软件结构与数据结构 4版
  • (美)刘易斯,(美)蔡斯著 著
  • 出版社: 北京:清华大学出版社
  • ISBN:9787302346708
  • 出版时间:2014
  • 标注页数:481页
  • 文件大小:76MB
  • 文件页数:502页
  • 主题词:JAVA语言-程序设计-教材;数据结构-教材

PDF下载


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

下载说明

Java软件结构与数据结构 4版PDF格式电子书版下载

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

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

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

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

图书目录

第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集合API22

3.2栈集合23

3.3主要的面向对象概念24

3.3.1继承与多态性24

3.3.2泛型25

3.4使用栈计算后缀表达式26

3.4.1 Javadoc32

3.5异常33

3.6栈ADT34

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队列ADT79

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列表ADT107

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和Map276

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 UML329

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与LinkedHashMap476

关键概念477

自测题477

练习题478

程序设计项目478

自测题答案479

附录F正则表达式481

热门推荐