《数据结构Java语言描述 第2版》PDF下载

  • 购买积分:19 如何计算积分?
  • 作  者:(美)Michael Main著;孔芳,周丽琴译
  • 出 版 社:北京:中国电力出版社
  • 出版年份:2005
  • ISBN:7508321987
  • 页数:662 页
图书介绍:本书系统地介绍了各种常用的数据结构,对基本概念、基本原理和基本方法作了深入浅出的介绍,同时对相关的算法设计也做了详细和通俗的讲解。本书的一大特点就是采用了非常流行的面向对象成程序设计语言--Java作为算法描述语言,将传统的数据结构内容与面向对象技术完整结合,更加自然贴切,易于理解。

译者序 1

出版说明 1

前言 1

第1章 软件开发周期 1

目录 1

1.1 规格说明、设计和实现 3

1.2 运行时间分析 15

1.3 测试和调试 22

自测练习参考答案 29

本章小结 29

第2章 Java类和信息隐藏 32

2.1 类及其成员 33

2.2 使用类 43

2.3 包 49

2.4 参数、equals方法和clone 53

本章小结 73

自测练习参考答案 73

程序设计项目 76

第3章 集合类 84

3.1 Java数组简介 85

3.2 整数包ADT 90

3.3 程序设计项目:序列ADT 115

3.4 程序设计项目:多项式 125

本章小结 127

自测练习参考答案 128

程序设计项目 131

第4章 链表 136

4.1 链表基础 137

4.2 操作节点的方法 139

4.3 操作整个链表 149

4.4 使用链表的包ADT 167

4.5 程序设计项目:带链表的序列ADT 180

4.6 复杂链表 185

本章小结 188

自测练习参考答案 189

程序设计项目 194

第5章 通用程序设计 197

5.1 Java的Object类型 198

5.2 对象包 202

5.3 对象结点 216

5.4 接口和API(选读) 219

5.5 Iterator接口(选读) 226

5.6 带有Iterator的通用包类(选读) 229

5.7 Java的Collection和Map接口的介绍(选读) 232

本章小结 239

自测练习参考答案 240

程序设计项目 243

第6章 堆栈 246

6.1 堆栈简介 246

6.2 堆栈的应用 250

6.3 堆栈ADT的实现 262

6.4 更复杂的堆栈应用 271

本章小结 278

自测练习参考答案 279

程序设计项目 280

7.1 队列简介 283

第7章 队列 283

7.2 队列的应用 287

7.3 队列ADT的实现 301

7.4 优先队列 314

本章小结 317

自测练习参考答案 318

程序设计项目 319

第8章 递归思想 322

8.1 递归方法 322

8.2 递归的研究:分形和迷宫 330

8.3 推导递归 346

本章小结 352

自测练习参考答案 352

程序设计项目 354

第9章 树 359

9.1 树的简介 360

9.2 树的表示方法 364

9.3 二叉树节点类 367

9.4 树的遍历 383

9.5 二叉搜索树 394

本章小结 407

自测练习参考答案 407

程序设计项目 410

第10章 树项目 414

10.1 堆 415

10.2 B-树 419

10.3 Java对树的支持 438

10.4 树、日志和时间复杂度分析 443

本章小结 447

自测练习参考答案 448

程序设计项目 450

第11章 查找 451

11.1 顺序查找和二分查找 452

11.2 开型寻址散列 460

11.3 使用Java的Hashtable类 473

11.4 链式散列 474

11.5 散列的时间分析 477

本章小节 479

自测练习参考答案 480

程序设计项目 482

第12章 排序 483

12.1 二次排序算法 484

12.2 递归排序算法 494

12.3 一个使用堆的O(nlogn)算法 508

本章小结 516

自测练习参考答案 516

程序设计项目 517

第13章 使用扩展类实现软件重用 519

13.1 扩展类 519

13.2 模拟生态系统 527

13.3 抽象类和game类 545

本章小结 556

进阶阅读 556

自测练习参考答案 556

程序设计项目 559

14.1 图的定义 561

第14章 图 561

14.2 图的实现 567

14.3 图的遍历 578

14.4 路径算法 586

本章小结 595

自测练习参考答案 596

程序设计项目 597

附录A Java的基本类型和算术溢出 598

char类型的专有特性 599

FormatWriter类 601

附录B Java的输入和输出 601

EasyReader类 601

附录C 抛出和捕获Java异常 618

如何抛出异常 618

RuntimeException和Error类 619

捕获异常 620

throws语句 621

进阶信息 621

java.util.Vector和java.util.Array List类 622

附录D ArrayList、Vector、Hashtable和HashMap类 622

java.util.Hashtable和java.util.HashMap类 624

附录E 用于链表中的节点的类 626

附录F 一个用于包对象的类 634

附录G 深入BIG-O表示法 640

BIG-O的常规定义 640

BIG-O表达式表示什么 641

附录H Javadoc 642

怎样编写Javadoc文档注释 643

怎样使用Javadoc把你的作品提供给其他程序员 643

描述整个类的Javadoc文档 644

用于单独的公共方法的Javadoc 644

控制html链接和字体 645

运行Javadoc 646

附录I 用于交互式测试的Applet 650

简单交互式applet的6个部分 652

怎样编译和运行applet 659

超出init方法 660