## Data Abstraction and Problem Solving with C++: Walls and MirrorsNew in this Edition *Uses recent enhancements to C++, such as data type bool and C++ strings *States ADT operations in English, specifies them in pseudocode, and finally implements them in C++. Students can see more clearly the progression from an informal statement of an operation to a more formal specification. *Offers new and revised examples of ADTs that clarify their relationships to classes as well as new coverage of dynamically allocated arrays and circuits *Provides more balance between numeric and nonnumeric examples of recursion *Contains many new exercises and programming problems * * Instructors materials are available from your sales rep. If you do not know your local sales representative, please call 1-800-552-2499 for assistance, or use the Addison Wesley Longman rep-locator at http: //hepg.awl.com/rep-locator. 0201874024B0406200 |

### What people are saying - Write a review

We haven't found any reviews in the usual places.

### Contents

ProblemSolving Techniques | 1 |

ProblemSolving Techniques | 2 |

The Mirrors | 49 |

Strings | 61 |

Counting Things | 70 |

Searching an Array | 78 |

Organizing Data | 87 |

Recursion and Efficiency | 93 |

Cautions | 431 |

Trees | 438 |

The ADT Binary Tree | 446 |

The ADT Binary Search Tree | 470 |

General Trees | 502 |

Programming Problems | 512 |

Selecting an Implementation | 521 |

A Sorted ArrayBased Implementation of the ADT Table | 528 |

Programming Problems | 104 |

Structures | 106 |

Specifying ADTs | 111 |

Implementing ADTs | 125 |

Summary | 139 |

Linked Lists | 147 |

Programming with Linked Lists | 160 |

Recursion as a ProblemSolving Technique | 215 |

Defining Languages | 221 |

The Relationship Between Recursion and Mathematical Induction | 235 |

Programming Problems | 242 |

Problem Solving with Abstract Data Types | 249 |

A Search Problem | 278 |

Summary | 292 |

Simple Applications of the ADT Queue | 306 |

A Summary of PositionOriented ADTs | 323 |

Exercises | 336 |

Virtual Functions and Late Binding | 354 |

Class Templates | 371 |

Exercises | 384 |

Algorithm Efficiency and Sorting | 390 |

Sorting Algorithms and Their Efficiency | 403 |

A Variation of the ADT Table | 535 |

Summary | 554 |

Advanced Implementation of Tables | 561 |

RedBlack Trees | 589 |

Hashing | 598 |

Data with Multiple Organizations | 617 |

Cautions | 623 |

Terminology | 629 |

Graph Traversals | 636 |

Summary | 658 |

APPENDIX A Review of C++Fundamentals | 1 |

Input and Output Using iostream | 11 |

Selection Statements | 19 |

Arrays | 25 |

File Input and Output | 38 |

A Comparison to Pascal | 52 |

Appendices A Review of C++ Fundamentals | 65 |

Glossary | 78 |

Answers to SelfTest Exercises | 96 |

Index | 114 |

Copyright | |