REVIEW - Data Abstraction and Problem Solving with C++ - Walls and Mirrors

Title:

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

Author:

Frank M. Carrano, Paul Helman, Robert Veroff

ISBN:

0201874024

Publisher:

Addison-Wesley (1998)

Pages:

702pp

Reviewer:

Mike Ellis

Reviewed:

December 1998

Rating:

★★★☆☆

This book is intended to teach young programmers, perhaps still at university or early in their careers, techniques that will be valuable for a long time.

This book is intended to teach young programmers, perhaps still at university or early in their careers, techniques that will be valuable for a long time. To make learning easier, each chapter contains self-test exercises complete with answers. Exercises suitable for assessed coursework are also included; model answers are available for instructors.

In most places this text is very thorough - for example, 8 pages are taken up with an introduction to pointers and memory allocation in C++, topics which most C++ programmers should already be familiar with. The structure of C++ classes - including

protected
members, copy-constructors and assignment operators - has a chapter all to itself, while a 63-page appendix gives a good summary of the key language constructs.

The ADTs themselves are explained first in terms of where and how they might be used to solve real-world problems. This explanation is backed up by multiple implementations. The efficiency of these implementations is evaluated and presented in O-notation. Graphs, lists, queues, stacks and trees are all covered, including appropriate means for saving and restoring the data to and from disc.

Although this book uses C++ and teaches the reader about both Abstract Data Types (ADTs) and C++ Templates, no mention is made of the C++ Standard Template Library (STL) which includes ready-made implementations for many of the commonly used ADTs. There is also no mention of exceptions and much of the example code uses a reference parameter for returning a success/failure indication.


Book cover image courtesy of Open Library.