(Most chapters end with Chapter Summary, Classes and Libraries in
the Chapter, Review Exercises, Written Exercises, Programming
Exercises and Programming Projects.)
Preface.
1. Introduction to Data Structures.
What is this Book About? Abstract View of Data Structures. An ADT
as a Class. Implementing C++ Classes. Declaring and Using Objects.
Implementing a Class with Inline Code. Application Programming
Interface(API). Strings.
2. Object Design Techniques.
Software Design. Handling Runtime Errors. Object Composition.
Operator Overloading.
3. Introduction to Algorithms.
Selection Sort. Simple Search Algorithms. Analysis of Algorithms.
Analyzing the Search Algorithms. Making Algorithms Generic. The
Concept of Recursion. Problem Solving with Recursion.
4. The Vector Container.
Overview of STL Container Classes. Template Classes. The Vector
Class. Vector Applications.
5. Pointers and Dynamic Memory.
C++ Pointers. Dynamic Memory. Classes Using Dynamic Memory.
Assignment and Initialization. The Minivector Class. The Matrix
Class.
6. The List Container and Iterators.
The List Container. Iterators. General List Insert And Erase
Operations. Case Study: Graduation Lists.
7. Stacks.
The Stack ADT. Recursive Code and the Runtime Stack. Stack
Implementation. Postfix Expressions. Case Study: Infix Expression
Evaluation.
8. Queues and Priority Queues.
The Queue ADT. The Radix Sort. Implementing the Miniqueue Class.
Case Study: Time-Driven Simulation. Array Based Queue
Implementation. Priority Queues.
9. Linked Lists.
Linked List Nodes. Building Linked Lists. Handling The Back of the
List. Implementing a Linked Queue. Doubly Linked Lists. Updating A
Doubly Linked List. The Josephus Problem. The Minilist Class.
Selecting a Sequence Container.
10.Binary Trees.
Tree Structures. Binary Tree Nodes. Binary Tree Scan Algorithms.
Using Tree Scan Algorithms. Binary Search Trees. Using Binary
Search Trees. Implementing the Stree Class. The Stree Iterator
(Optional).
11. Associative Containers.
Overview of Associative Containers. Sets. Maps. Multisets.
Implementing Sets And Maps.
12. Advanced Associative Structures.
Hashing. Designing Hash Functions. Designing Hash Tables. The Hash
Class. Hash Table Performance. 2-3-4 Trees. Red-Black Trees. The
Rbtree Class.
13. Inheritance and Abstract Classes.
Inheritance in C++. The Graphics Hierarchy. The Graphics System.
Safe Vectors. Ordered Lists. Polymorphism and Virtual Functions.
Abstract Classes.
14. Heaps Binary Files and Bit Sets.
Array Based Binary Trees. Heaps. Implementing a Priority Queue.
Binary Files. Bitsets. Case Study: Huffman Compression.
15. Recursive Algorithms.
Divide and Conquer Algorithms. Combinatorics. Dynamic Programming.
Backtracking: The Eight-Queens Problem.
16. Graphs.
Graph Terminology. The Graph Class. Graph Class Design. Graph
Traversal Algorithms. Graph Traversal Applications. Graph
Minimization Algorithms.
Index.
Professor William Ford and Professor William Topp are faculty members with the Computer Science Department, University of the Pacific, Stockton, California. They have also written Introduction to Computing with C++ and Object Technology (Prentice Hall, 1999) and Assembly Language and Systems Programming for the M68000 Family (Jones and Bartlett, 1992).
Ask a Question About this Product More... |