Truck Month Textbook Trade In Amazon Fashion Learn more nav_sap_plcc_ascpsc $5 Albums Tile Wearable Technology Fire TV with 4k Ultra HD Luxury Beauty Mother's Day Gifts Shop now Amazon Gift Card Offer ctstrph2 ctstrph2 ctstrph2  Amazon Echo  Echo Dot  Amazon Tap  Echo Dot  Amazon Tap  Amazon Echo Fire, Only $39.99 Kindle Paperwhite AutoRip in CDs & Vinyl Spring Arrivals in Outdoor Clothing SnS

Customer Reviews

4.2 out of 5 stars17
Format: Paperback|Change
Price:$52.27+ Free shipping with Amazon Prime
Your rating(Clear)Rate this item

There was a problem filtering reviews right now. Please try again later.

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.
22 comments|63 people found this helpful. Was this review helpful to you?YesNoReport abuse
on October 1, 2001
This book stands out among countless books written on the subject.
It basically deals with the two ingrediants of programming ,
Data Structures and Algorithms.
The first part gives a wonderful introduction to the concept of Data Structures.It goes on to deal with several classes of Data Structures such as lists, stacks, queues, trees and graphs..
This book is profusely illustrated with examples, and lots of exercises for the student to expand upon the ideas.
The next part goes on to deal with Algorithms. Beginning with the concept, approaches, and different metrics that quantify algorithms such as time and space complexity. Common problems such as sorting , searching and the different algorithms are elaborated with the pros and cons.
One nice thing about the text is the way the subject is presented to the reader. Each topic begins with a few basic concepts and then extended in a natural manner to reach the complexity. This especially equips the student with the ability to continue evolving the solutions on their own. Not to mention the numerous exercises.
For example by studying the concept of abstract data types one would understand how OO programming evolves naturally.
I highly recommend this book for any one seriously interested in programming.
0Comment|27 people found this helpful. Was this review helpful to you?YesNoReport abuse
on March 1, 2000
From a students perspective this text has it all. Instead of relying on C/C++ to teach the concept of ADTs, this text uses a pseudocode based on Pascal. Consequently, all algorithms presented in this text are clear and easy to understand. Implementation of ADTs is thus facilitated by using the clear framework provided in this wonderful text.
0Comment|22 people found this helpful. Was this review helpful to you?YesNoReport abuse
on June 30, 1999
I was lucky enough to take a course in Data Structures and Algorithms with Prof. Aho and this was the text. Probably the best I have ever used. As friends and associates went through school they would invariably throw away the book they'd bought for their Data Structures course and buy a copy of this. Clear, concise, full of good code. A must
0Comment|15 people found this helpful. Was this review helpful to you?YesNoReport abuse
Perfect book. Nice and small. You can buy it cheap too, it's old. But it's full of the meat and potatoes, no fluffy Java source code. Sure, it uses Pascal, but it's not that hard to understand Pascal code even if you never programmed in Pascal (me neither). What matters is the discussions behind the scenes. It covers the whole range of what you should know and it's concise. They don't write books like this anymore.
0Comment|10 people found this helpful. Was this review helpful to you?YesNoReport abuse
on May 18, 2005
I believe two books make a classic collection in data structures - one was the data structures book by sartaj sahni (his first edition book many years ago - I haven't looked at his recent books). That was the book I had to study when I was an undergrad student. Now I was entrusted with the task of teaching Data Structures and after looking at several books, this is the one I chose (may be because it comes most close to the style of teaching using psuedo-pascal that I grew up with).

I believe psuedo languages are the best way to learn concepts of any computer science area without getting bogged down in the nitty gritty of a language's syntax and semantics. I found the problems at the end of the chapters to be thoughtful and not extremely hard for undergraduate students. This book also goes into brief mathematical aspects of analysing the complexity of algorithms where necessary. The mathematical analysis is usually the part that most undergrad students moan and groan about, but they better get used to it IMO, if they wish to elevate themselves from the ranks of "a programmer" to an software / algorithm designer.

I have to agree that this book can be extremely hard for the weaker students in the class who have never had any programming or basic college algebra exposure. For all others, this book should be great.
0Comment|5 people found this helpful. Was this review helpful to you?YesNoReport abuse
on September 11, 2014
Old and badly outdated book. Reading this book will probably leave you puzzled about many things and you'll need to find another resource before you can grok the material in this book. Certainly the algorithms are there and the maths and proofs are there but the informal explanations of the algorithms are sheer horror.

Many of the explanations are so terse that backtracking the authors original thinking either requires a super brain, prior knowledge of how the algorithm/datastructure works or a lot time and figuring out what is meant.

Also the use "special" Pascal for the examples doesn't make things any easier. Personally after having read the notes on the programming language used in the book several times I still can't figure out what is a cell, why their lists require a header and what is a cursor. (Ok, apparently a cell is a considered to be a variable or an array element, cursor is an index to an array and the list header I simply don't know).

All this adds to the mental overhead. Things are't made any easier when the authors change their terms mid-chapter, for example first referring to nodes in a tree as nodes and then later starting to use term vertex. Again, more mental overhead. Many things simply run counter to my intuition and this is again reflected in the text as well. For example when going to higher indexed items in an array I'd call this "going up the array" instead of "going down"

In summary. Get another book.
22 comments|6 people found this helpful. Was this review helpful to you?YesNoReport abuse
on April 7, 2012
I've read about more than a third of this good book. The book carefully integrate learned features into later developments in the text. You get a good basic understanding that's later on become more advanced as you pave through the material. Each chapter has excercices with no solution manual which is the only flaw of the book in my opinion.
0Comment|One person found this helpful. Was this review helpful to you?YesNoReport abuse
on May 16, 2007
This book explains very clearly the subjects of data structures and algorithms. Its in-depth coverage is very intuitive and easy to follow unlike other literature that is often tedious or esoteric.

The only complaint I have is the choice of the programming language. Pascal is a language of the past. A new edition using C will make this book simply a gem.
0Comment|5 people found this helpful. Was this review helpful to you?YesNoReport abuse
on June 13, 2013
I found this book to be detailed and very good at explaining things. I was able to teach myself the concept of time complexity and working through algorithms
0Comment|One person found this helpful. Was this review helpful to you?YesNoReport abuse