Data Abstraction and Problem Solving with C++: Walls and Mirrors, 3/e
Frank M. Carrano, Janet J. Prichard, Frank Carrano
$299Sams Teach Yourself Game Programming in 24 Hours
$299CCNP Self-Study: Building Cisco Remote Access Networks (BCRAN), 2/e (Hardcover)
$399CCNP Self-Study : Building Scalable Cisco Internetworks (BSCI), 2/e
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
Chapter Dependency Chart.
I. PROBLEM-SOLVING TECHNIQUES.
1. Principles of Programming and Software Engineering.
Achieving A Modular Design.
A Summary of Key Issues in Programming.
2. Recursion: The Mirrors.
Searching An Array.
Recursion And Efficiency.
3. Data Abstraction: The Walls.
4. Linked Lists.
Programming with Linked Lists.
Variations of the Linked List 206.
Application: Maintaining an Inventory.
The C++ Standard Template Library.
5. Recursion as a Problem-Solving Technique.
The Relationship between Recursion and Mathematical Induction.
II. PROBLEM SOLVING WITH ABSTRACT DATA TYPES.
Simple Applications Of The ADT Stack.
Implementations Of The ADT Stack.
Application: Algebraic Expressions.
Application: A Search Problem.
The Relationship between Stacks and Recursion.
Simple Applications of the ADT Queue.
Implementations of the ADT Queue.
A Summary Of Position-Oriented ADTs.
8. Advanced C++ Topics.
Virtual Functions and Late Binding.
The ADTs List and Sorted List Revisited.
9. Algorithm Efficiency and Sorting.
Sorting Algorithms and Their Efficiency.
The ADT Binary Tree.
The ADT Binary Search Tree.
11. Tables and Priority Queues.
The ADT Priority Queue: A Variation of the ADT Table.
12. Advanced Implementations of Tables.
Data with Multiple Organizations.
Graphs as ADTs.
Applications of Graphs.
14. External Methods.
Sorting Data in an External File.
A. Review Of C++ Fundamentals.
Input and Output Using iostream.
File Input and Output.
A Comparison to Java.
B. Ascii Character.
C. Codes (Ascii Subset).
D. C++ Header Files And Standard Functions.
E. Mathematical Induction.
Answers to Self-Test Exercises.