CHAPTER 1 The Phases of Software Development
1.1 Specification, Design, Implementation
1.2 Running Time Analysis.
1.3 Testing and Debugging
Chapter Summary and Solutions
CHAPTER 2 Java Classes and Information Hiding
2.1 Classes and Their Members
2.2 Using a Class
2.3 Packages
2.4 Parameters, Equals Methods, and Clones
Chapter Summary, Solutions and Projects
CHAPTER 3 Collection Classes
3.1 A Review of Java Arrays
3.2 An ADT for a Bag of Integers
3.3 Programming Project: The Sequence ADT
3.4 Programming Project: The Polynomial
Chapter Summary, Solutions and Projects
CHAPTER 4 Linked Lists
4.1 Fundamentals of Linked Lists
4.2 Methods for Manipulating Nodes
4.3 Manipulating an Entire Linked List
4.4 The Bag ADT with a Linked List
4.5 Programming Project: The Sequence ADT with a Linked List
4.6 Beyond Simple Linked Lists
Chapter Summary, Solutions and Projects
CHAPTER 5 Generic Programming
5.1 Java's Object Type
5.2 Object Methods and Generic Methods
5.3 Generic Classes
5.4 Generic Nodes
5.5 Interfaces and Iterators
5.6 A Generic Bag Class That Implements the Iteraable Interface (Optional Section).
5.7 Introduction to the Java Collection and Map Interlaces (Optional Section)
Chapter Summary, Solutions and Projects
CHAPTER 6 Stacks
6.1 Introduction to Stacks
6.2 Stack Applications
6.3 Implementations of the Stack ADT
6.4 More Complex Stack Applications
Chapter Summary, Solutions and Projects
CHAPTER 7 Queues
7.1 Introduction to Queues
7.2 Queue Applications
7.3 Implementations of the Queue ADT
7.4 Priority Queues..
Chapter Summary, Solutions and Projects
CHAPTER 8 Recursive Thinking
8.1 Recursive Methods
8.2 Studies of Recursion: Fractals and Mazes
8.3 Reasoning about Recursion
Chapter Summary, Solutions and Projects
CHAPTER 9 Trees
9.1 Introduction to Trees
9.2 Tree Representations
9.3 A Class for Binary Tree Nodes
9.4 Tree Traversals
9.5 Binary Search Trees
Chapter Summary, Solutions and Projects
CHAPTER 10 Tree Projects
10.1 Heaps
10.2 B-Trees
10.3 Java Support for Trees
10.4 Trees, Logs, and Time Analysis
Chapter Summary, Solutions and Projects
CHAPTER 11 Searching
11.1 Serial Search and Binary Search
11.2 Open-Address Hashing
11.3 Using Java's Hashtable Class
11.4 Chained Hashing
11.5 Time Analysis of Hashing
Chapter Summary, Solutions and Projects
CHAPTER 12 Sorting
12.1 Quadratic Sorting Algorithms
12.2 Recursive Sorting Algorithms
12.3 An O(n log n) Algorithm Using a Heap
Chapter Summary, Solutions and Projects
CHAPTER 13 Software Reuse wilh Extended Classes
13.1 Extended Classes
13.2 Generic Type Parameters and Inheritance
13.3 Simulation of an Ecosystem
13.4 Abstract Classes and a Game Class
Chapter Summary, Further Reading, Solutions and Projects
CHAPTER 14 Graphs
14.1 Graph Definitions
14.2 Graph Implementations
14.3 Graph Traversals
14.4 Path Algorithms
Chapter Summary, Solutions and ProjectsAPPENDIXES
A. Java's Primitive Types and Arithmetic Overflow
B. Java Input and Output
C. Throwing and Catching Java Exceptions
D. ArrayList, Vector, Hashtable, and HashMap Classes
E. A Class for Nodes in a Linked List
F A Class for a Bag of Objects
G. Further Big-O Notation
H. Javadoc
I. Applets for Interactive Testing
INDEX
· · · · · · (
收起)