第1章 概述
1.1 软件质量
1.1.1 正确性
1.1.2 可靠性
1.1.3 健壮性
1.1.4 可用性
1.1.5 可维护性
1.1.6 可重用性
1.1.7 可移植性
1.1.8 运行效率
1.1.9 质量问题
1.2 数据结构
1.2.1 一个物理示例
1.2.2 以集装箱作为对象
关键概念
主要术语
自测题
练习题
自测题答案
第2章 算法分析
2.1 算法效率分析
2.2 增长函数与大O记法
2.3 增长函数的比较
2.4 时间复杂度分析
2.4.1 循环运行的复杂度分析
2.4.2 嵌套循环的复杂度分析
2.4.3 方法调用的复杂度分析
关键概念
主要术语
自测题
练习题
自测题答案
参考文献
第3章 集合概述——栈
3.1 集合
3.1.1 抽象数据类型
3.1.2 Java集合API
3.2 栈集合
3.3 主要的面向对象概念
3.3.1 继承与多态性
3.3.2 泛型
3.4 使用栈计算后缀表达式
3.4.1 Javadoc
3.5 异常
3.6 栈
3.7 用数组实现栈
3.7.1 管理容量
3.8 ArrayStack类
3.8.1 构造函数
3.8.2 push操作
3.8.3 pop操作
3.8.4 peek操作
3.8.5 其他操作
3.8.6 EmptyCollectionException类
3.8.7 其他实现
关键概念
主要术语
自测题
练习题
程序设计项目
自测题答案
第4章 链式结构——栈
4.1 链接作为引用
4.2 管理链表
4.2.1 访问元素
4.2.2 插入结点
4.2.3 删除结点
4.3 无链接的元素
4.3.1 双向链表
4.4 Java API中的栈
4.5 使用栈来穿越迷宫
4.6 用链表实现栈
4.6.1 LinkedStack类
4.6.2 push操作
4.6.3 pop操作
4.6.4 其他操作
关键概念
主要术语
自测题
练习题
程序设计项目
自测题答案
第5章 队列
第6章 列表
第7章 迭代器
第8章 递归
第9章 排序与查找
第10章 树
第11章 二叉查找树
第12章 优先队列与堆
第13章 Set与Map集合
第14章 多路查找树
第15章 图
附录A
附录B 面向对象设计
附录C Java图形编程
附录D 图形用户接口
附录E 散列
附录F 正则表达式