Objects, Abstraction, Data Structures and Abstraction: Using C++ (Paperback)

Elliot B. Koffman, Paul A. T. Wolfgang






  • Combining a strong emphasis on problem solving and software design with the study of data structures, this book provides chapters on sets and maps, balanced binary search trees, and graphs.
  • Although most readers will be familiar with C++, there is an extensive review chapter for those who need a refresher.
  • The authors cover case studies that use the data structure to solve a significant problem while reinforcing the message of "Think, then code"--meaning, perform a thorough analysis of the problem and then carefully design a solution.


Table of Contents:

P. A C++ Primer.

1. Introduction to Software Design.

2. Program Correctness and Efficiency.

3. Inheritance and Class Hierarchies.

4. Sequential Containers.

5. Stacks.

6. Queues and Deques.

7. Recursion.

8. Trees.

9. Sets and Maps.

10. Sorting.

11. Self-Balancing Search Trees.

12. Graphs.

Appendix A: Advanced C++ Topics.

Appendix B: Overview of UML.

Appendix C: The CppUnit Test Framework.