CHAPTER 1 The Phases of Software Development
1.1 Specification,Design,Implementation
1.2 Running Time Analysis
1.3 Testing and Debugging
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 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 4 Linked Lists
4.1 Fundamentals of Linked Lists
4.2 Methods for Manipulating Nodes
4.3 Manipulating and 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 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 Interface
5.7 Introduction to the Java Colletion and Map Interfaces
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 7 Queues
7.1 Introduction to Queues
7.2 Queues Applications
7.3 Implementations of the Queue ADT
7.4 Priority Queues
CHAPTER 8 Recursive Thinking
8.1 Recursive Methods
8.2 Studies of Recursion
8.3 Reasoning about Recursion
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 10 Projects
10.1 Heaps
10.2 B-Trees
10.3 Java Support for Trees
10.4 Trees,Logs,and Time Analysis
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 12 Sorting
12.1 Quadratic Sorting Algorithms
12.2 Recursive Sorting Algorithms
12.3 An O Algorithm Using a Heap
CHAPTER 13 Software Reuse with 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 14 Graphs
14.1 Graph Definitions
14.2 Graph Implementations
14.3 Graph Traversals
14.4 Path Algorithms
APPENDIXES
INDEX