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:

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.





Your Privacy

By clicking "Accept All Cookies" you agree ACCU can store cookies on your device and disclose information in accordance with our Privacy Policy and Cookie Policy.

By clicking "Share IP Address" you agree ACCU can forward your IP address to third-party sites to enhance the information presented on the site, and that these sites may store cookies on your device.