Top positive review
63 people found this helpful
The best introduction to the field - a pleasure to read
on February 9, 2002
A textbook by Aho/Hopcroft/Ullman is sort of a guarantee of quality -
and this one is no exception. These people are among the greatest
researchers and teachers in Computer Science, and this book is a
great opportunity to 'learn from the masters'.
As an introduction to the fascinating field of Data Structures and
Algorithms, this is perhaps the best textbook you'll find out there.
Starting with the basics, the authors develop the concepts in a
natural manner. Array, lists and stacks soon give way to binary trees,
heaps and then more advanced data structures. All data structures are
introduced with proper motivation in terms of the kind of problems
that they are useful in solving.
The basic algorithms in searching, sorting, and graphs are then presented
in detail, followed by a chapter on algorithm analysis techniques, and
one on design paradigms such as dynamic programming, backtracking, divide
and conquer, greedy approach, and local search. The book ends with chapters
data structures and algorithms for external storage and memory management.
This is a textbook, and therefore you can expect a fair amount of maths
in the analysis of algorithms, without which you can only do hand-waving.
All algorithms are explained, with detailed examples and illustrations -
this is one of the easiest books to follow in theoretical computer science.
All algorithms are presented in pseudocode, which makes it easier to
understand things at an abtract level without getting bogged down in
language specific technical details, and the pseudocode is very clear
and concise, making it an easy task to adapt it to any given language.
An additional plus-point is its size - weighing in at less than 450
pages, this is a 'backpack friendly' book which you can easily carry
around, unlike many others on the subject.
The only caveat is that the book is almost 20 years old, so you won't
find the more recent topics like red-black trees, skip lists etc.
I'd suggest using this book for an introduction to the basics, with the
book by Cormen et al (if you want the maths) or Sedgewick (if you don't
want the maths) as excellent supplements as well as advanced references.
I must confess to having a weak spot for this book, since it introduced
me to algorithms and i fell in love with the subject. However, i think
most people who've read it would agree that it is a classic among Computer
Science textbooks which has stood the test of time.