About the Book
New and revised features keep the text clear and up-to-date
Provides a strong introduction to data abstraction
C++ Interludes cover relevant C++ topics as needed between chapters.
Major applications of ADTs, such as searching a flight map, event-driven simulation, and the eight queens problem are featured
Use of the Standard Template Library (STL) with examples is included in most chapters.
The best coverage of recursion available is provided in the text
An appendix, "Basic C++ Syntax,” is included for students who are making the transition from another language, such as Java or Python.
For courses in C++ Data Structures
Concepts of Data Abstraction and Manipulation for C++ Programmers
The Seventh Edition of Data Abstraction & Problem Solving with C++: Walls and Mirrors introduces fundamental computer science concepts related to the study of data structures. The text Explores problem solving and the efficient access and manipulation of data and is intended for readers who already have a basic understanding of C++.
The “walls and mirrors” mentioned in the title represent problem-solving techniques that appear throughout the text. Data abstraction hides the details of a module from the rest of the program, whereas recursion is a repetitive technique that solves a problem by solving smaller versions of the same problems, much as images in facing mirrors grow smaller with each reflection. Along with general changes to improve clarity and correctness, this Seventh Edition includes new notes, programming tips, and sample problems.
1. Data Abstraction: The Walls
2. Recursion: The Mirrors
3. Array-Based Implementations
4. Link-Based Implementations
5. Recursion as a Problem-Solving Technique
7. Stack Implementations
9. List Implementations
10. Algorithm Efficiency
11. Sorting Algorithms and Their Efficiency
12. Sorted Lists and Their Implementations
13. Queues and Priority Queues
14. Queue Implementations
16. Tree Implementations
18. Dictionaries and Their Implementations
19. Balanced Search Trees
21. Processing Data in External Storage