译者序
前言
第1章 软件开发周期
1.1 规格说明、设计和实现
1.2 运行时间分析
1.3 测试和调试
本章小结
自测练习参考答案
第2章 Java类和信息隐藏
2.1 类及其成员
2.2 类的使用
2.3 包
2.4 参数、equals方法和clone
本章小结
自测练习参考答案
程序设计项目
第3章 集合类
3.1 Java数组简介
3.2 整数包的ADT
3.3 程序设计项目:序列ADT
3.4 程序设计项目:多项式
本章小结
自测练习参考答案
程序设计项目
第4章 链表
4.1 链表基础
4.2 操作结点的方法
4.3 操作整个链表
4.4 使用链表实现的包ADT
4.5 程序设计项目:使用链表实现的序列ADT
4.6 复杂链表
本章小结
自测练习参考答案
程序设计项目
第5章 通用程序设计
5.1 Java的Object类型
5.2 Object方法和通用方法
5.3 通用类
5.4 通用结点
5.5 接口和迭代器
5.6 实现Iterable接口的通用包类(选读)
5.7 Java中collection和Map接口简介(选读)
本章小结
自测练习参考答案
程序设计项目
第6章 栈
6.1 栈简介
6.2 栈的应用
6.3 栈ADT的实现
6.4 更复杂的栈应用
本章小结
自测练习参考答案
程序设计项目
第7章 队列
7.1 队列简介
7.2 队列的应用
7.3 Queue类的实现
7.4 优先队列
本章小结
自测练习参考答案
程序设计项目
第8章 递归思想
8.1 递归方法
8.2 递归的研究:分形和迷宫
8.3 递归的推导
本章小结
自测练习参考答案
程序设计项目
第9章 树
第10章 树项目
第11章 查找
第12章 排序
第13章 使用扩展类实现软件重用
第14章 图
附录A Java的基本类型和算术溢出
附录B Java输入和输出
附录C 抛出和捕获Java异常
附录D ArrayList、Vector、Hastable和HashMap类
附录E 用于链表的结点类
附录F 一个用于包对象的类
附录G 深入大O表示法
附录H Javadoc
附录I 用于交互式测试的Applet