Chapter 1 Introduction
1.1 What's the Book About
1.2 Mathematics Review
1.3 A Brief Introduction to Recursion
1.4 Generic Objects in Java
1.5 Exceptions
1.6 Input and Output
1.7 Code Organization
Chapter 2 Algorithm Analysis
2.1 Mathematical Background
2.2 Model
2.3 What to Analyze
2.4 Running Time Calculations
Chapter 3 Lists,Stacks,and Queues
3.1 Abstract Data Types(ADTS)
3.2 The List ADT
3.3 The Stack ADT
3.4 The Queue ADT
Chapter 4 Trees
4.1 Preliminaries
4.2 Binary Trees
4.3 The Search Tree ADT——Binary Search Trees
4.4 AVL Trees
4.5 Splay Trees
4.6 The Traversals(Revisited)
4.7 B-Trees
Chapter 5 Hashing
5.1 General Idea
5.2 Hash Function
5.3 Separate Chaining
5.4 Open Addressing
5.5 Rehashing
5.6 Extendible Hashing
Chapter 6 Priority Queues(Heaps)
……
Chapter 7 Sorting
Chapter 8 The Disjoint Set ADT
Chapter 9 Graph Algorithms
Chapter 10 Algorithm Design Techniques
Chapter 11 Amortized Analysis
Chapter 12 Advanced Data Structures and Implementation
Appendix A Some Library Routines
Appendix B The Collections Library
Index