The classic Data Abstraction and Problem Solving with C++: Walls and Mirrors been revised to further enhance its focus on data abstraction and data structures using C++. It provides a firm foundation in data abstraction, emphasizing the distinction between specification and implementation as the foundation for an object-oriented approach. Professors Frank Carrano and Janet Prichard cover key object-oriented concepts, including encapsulation, inheritance and polymorphism. However, the focus remains on data abstraction instead of simply C++ syntax.
The authors also illustrate the role of classes and ADTs in the problem-solving process and include major applications of ADTs, such as searching a flight map and event-driven simulation. The book offers early, extensive coverage of recursion and uses this technique in many examples and exercises. It also introduces analysis of algorithms and the Big "0" notation. New to this edition is an introduction to the Standard Template Library and the Unified Modeling Language.
- Includes a lucid writing style, wide-spread use of examples, and flexible coverage of topics
- Provides a strong introduction to, and a continuous use of, data abstraction
- Presents the best coverage of recursion available in any textbook, starting in Chapter 2
- Focuses on coverage of data structures instead of language syntax-still, all C++ code has been updated to conform with ANSI Standard C++
- Contains coverage of the Standard Template Library (STL)
- Introduces the Unified Modeling Language (UML) as a tool for designing classes
- Provides an appendix on basic C++ syntax for those who are making the transition to C++ from another language