[Home Page] - [Reviews Main] | |
| Algorithms and Data Structures in C++ by Leendert Ammeraal |
| ISBN: 0-471-96355-0 Publisher: Wiley Pages: 352 Price: £24-95 |
| Categories: algorithms data structures |
| Reviewed by Francis Glassborow in C Vu 8-4 (May 1996) |
C++just for OOP but
uses it in a variety of other ways when they seem to him to be more
appropriate.
In the first chapter of Algorithms and Data Structures in
C++Leendert lays down some of his ground rules. Such ones as 'I will
assume that the user will behave reasonably' are eminently sensible in the
context of this book, though insane in the context of production code.
The biggest problem that this book has is that it is being published at a
cusp in the development of C++. Many programmers are still
using pre-exception handling compilers (or switching it off) and expect such
things as new()to return a NULL for failure
rather than throwing an exception.
Chapter 1 is worth reading because it gives you a good perspective on the author's departure point. Chapter 2 focuses on a handful of arithmetic algorithms and multi-precision arithmetic. It concludes with an interesting program to compute the decimal expansion of p (you won't be able to use it to break any records, but it is more powerful than most such programs published in elementary texts.
Chapter 8 concludes with an exposition of and implementation of the Huffman Algorithm for file compression. Chapter 9 covers various aspects of mathematical graphs (nodes connected by arcs, not pretty pictures). Chapter 10 covers aspects of Combinatorial Algorithms , concluding with the Knapsack Problem and an interesting extension of it.
Chapter 11 looks at some of the problems in writing very simple interpreters and compilers.
The book concludes with an appendix containing a class for large integers.
Now, just in case you were in any doubt, I have not accidentally edited out
any reference to the middle part of the book. That covers all the normal
fare that you find on books about algorithms and data structures. Good clear
expositions of queues, sorting and so on. But I said earlier that this book
is being published at a cusp in the development of C++.
Unfortunately for the author, what we will need in future is a book that
relates such material to its implementation either by the STL
or compatibly with the STL .
I think that Algorithms and Data Structures in C++would be an
excellent book for solo programmers who do not need to produce code that will
have a long compilable lifetime. It is certainly more readable than most
previously published books on the subject and if you are a student struggling
with an opaque academic tome this one might shed a little more light. The
rest will have to wait for the next edition.
To link to this review, please use the URL: http://www.accu.org/bookreviews/public/reviews/a/a000162.htm
Copyright © The Association of C & C++ Users 1998-2000. All rights reserved.