Data Abstraction and Problem Solving with C++: Walls and Mirrors
This classic book has been revised to further enhance its focus on data abstraction and data structures using C++. The book continues to provide a firm foundation in data abstraction, emphasizing the distinction between specification and implementation as the foundation for an object-oriented approach. The authors 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 includes 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 "O" notation. In addition, this text reviews, in an appendix, basic C++ syntax for those who either have studied the language previously or are making the transition from another language to C++.
Table of Contents
PART ONE - Problem-Solving Techniques
1 Principles of Programmingand Software Engineering
2 Recursion: The Mirrors
3 Data Abstraction: The Walls
4 Linked Lists
5 Recursion as a Problem-Solving Technique
PART TWO Problem Solving with Abstract Data Types
8 Advanced C++ Topics
9 Algorithm Efficiency and Sorting
11 Tables and Priority Queues
12 Advanced Implementations of Tables
14 External Methods
You can download this book from any of the following links. If any link is dead please feel free to leave a comment.
Download here (3rd Edition)
Download here (5th Edition)
This site does not store any files on its server. We only index and link to content provided by other sites. Please contact the content providers to delete copyright contents if any and email us, we'll remove relevant links or contents immediately.