|
45 of 47 people found the following review helpful:
5.0 out of 5 stars
The best introduction to the field - a pleasure to read, 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.
|