Data Abstraction and Problem Solving with C++: Walls and Mirrors

Front Cover
New 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

Other editions - View all

About the author (1998)

Frank M. Carrano is Associate Professor of Computer Science at the University of Rhode Island.



0201874024AB04062001

Bibliographic information