132197
9780201741193
Preface. Chapter Dependency Chart. I. PROBLEM-SOLVING TECHNIQUES. 1. Principles of Programming and Software Engineering. Problem Solving and Software Engineering. Achieving A Modular Design. A Summary of Key Issues in Programming. 2. Recursion: The Mirrors. Recursive Solutions. Counting Things. Searching An Array. Organizing Data. Recursion And Efficiency. 3. Data Abstraction: The Walls. Abstract Data Types. Specifying ADTs. Implementing ADTs. 4. Linked Lists. Preliminaries. 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. Backtracking. Defining Languages. The Relationship between Recursion and Mathematical Induction. II. PROBLEM SOLVING WITH ABSTRACT DATA TYPES. 6. Stacks. The Abstract Data Type Stack. Simple Applications Of The ADT Stack. Implementations Of The ADT Stack. Application: Algebraic Expressions. Application: A Search Problem. The Relationship between Stacks and Recursion. 7. Queues. The Abstract Data Type Queue. Simple Applications of the ADT Queue. Implementations of the ADT Queue. A Summary Of Position-Oriented ADTs. Application: Simulation. 8. Advanced C++ Topics. Inheritance Revisited. Virtual Functions and Late Binding. Friends. The ADTs List and Sorted List Revisited. Class Templates. Overloaded Operators. Iterators. 9. Algorithm Efficiency and Sorting. Measuring the Efficiency of Algorithms. Sorting Algorithms and Their Efficiency. 10. Trees. Terminology. The ADT Binary Tree. The ADT Binary Search Tree. General Trees. 11. Tables and Priority Queues. The ADT Table. The ADT Priority Queue: A Variation of the ADT Table. 12. Advanced Implementations of Tables. Balanced Search Trees. Hashing. Data with Multiple Organizations. 13. Graphs. Terminology. Graphs as ADTs. Graph Traversals. Applications of Graphs. 14. External Methods. A Look at External Storage. Sorting Data in an External File. External Tables. Appendices. A. Review Of C++ Fundamentals. Language Basics. Input and Output Using iostream. Functions. Selection Statements. Iteration Statements. Arrays. Strings. Structures. C++ Exceptions. File Input and Output. Libraries. A Comparison to Java. B. Ascii Character. C. Codes (Ascii Subset). D. C++ Header Files And Standard Functions. E. Mathematical Induction. Glossary. Answers to Self-Test Exercises. Index.Carrano, Frank is the author of 'Data Abstraction and Problem Solving with C++: Walls and Mirrors', published 2001 under ISBN 9780201741193 and ISBN 0201741199.
[read more]