ACCU Home page ACCU Conference Page
Search Contact us ACCU at Flickr ACCU at GitHib ACCU at Facebook ACCU at Linked-in ACCU at Twitter Skip Navigation

Search in Book Reviews

The ACCU passes on review copies of computer books to its members for them to review. The result is a large, high quality collection of book reviews by programmers, for programmers. Currently there are 1949 reviews in the database and more every month.
Search is a simple string search in either book title or book author. The full text search is a search of the text of the review.
    View all alphabetically
Data Structures in C++: Using the STL
Timothy Budd
0 201 30879 7
Francis Glassborow
data structures; advanced c++
Appeared in:
For at least a couple of years I have been critical of new books published on data structures in C++ because authors were writing as if the Standard Template Library did not exist. I realise that the STL presents writers with a big problem. They cannot simply rewrite their texts for Pascal, Modula 2, C or whatever replacing source code examples with lightly redone code in C++. I certainly have reservations about doing this at the best of times but with the wide availability of the STL, the method becomes ludicrous even in a purely academic context.

Timothy is an experienced author of books on data structures and algorithms and so it gives me particular pleasure to see that he has grasped the nettle and produced a text solidly rooted in use of the STL. Instead of taking many pages and considerable time getting the reader to write their own implementations of the various containers he focuses on what is provided and how you should select the most appropriate one for your data.

While the book is primarily aimed at academic courses, many self-taught or commercial programmers could greatly improve their practical understanding of C++ data structures by reading this book.

As an academic text each chapter ends with study questions and exercises. The former require you to find the answer by careful study of the current chapter. The latter will need you to apply what you have learnt. Both types of question are an important part of the learning process though many authors do not seem to understand the distinction and the necessity for both.

Now let me warn you that while the book covers both fundamental principles and the STL containers very well it falls short when dealing with writing other containers. For example it deals with the general principles of a Hash Table but it does not show how you should implement one to be compatible with the STL algorithms. In other words the author has written a good book on using what has already beenprovided but there is something more to the STL that he seems to have missed - a set of requirements for adding your own component types.

If you do anything but the simplest of low level programming you should have access to this book. Either buy your own copy or ensure that your workplace has a copy available. Of course there will be a number of genuine experts for whom everything that Budd says is well known and apparently obvious, but these surely have less experienced team members who need to do some study.

Because of what I consider a lost opportunity to deal with the requirements and mechanisms for adding your own container templates there is still room for further development but this book is an excellent start and deserves to go on your study list.