Price:$52.27+ Free shipping with Amazon Prime

Your rating(Clear)Rate this item

- Data Structures and Algorithms
- ›
- Customer Reviews

Price:$52.27+ Free shipping with Amazon Prime

Your rating(Clear)Rate this item

63 people found this helpful

ByOptimistixon 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.

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.

6 people found this helpful

BySami Väisänenon 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.

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.

ByOptimistixon 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.

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.

ByGanapathy Subramaniamon 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.

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#### There was a problem loading comments right now. Please try again later.

Please write at least one word

You must purchase at least one item from Amazon to post a comment

A problem occurred while submitting your comment. Please try again later.

Show more comments

ByCarlo Cosenzaon 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#### There was a problem loading comments right now. Please try again later.

Please write at least one word

You must purchase at least one item from Amazon to post a comment

A problem occurred while submitting your comment. Please try again later.

Show more comments

ByA customeron 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#### There was a problem loading comments right now. Please try again later.

Please write at least one word

You must purchase at least one item from Amazon to post a comment

A problem occurred while submitting your comment. Please try again later.

Show more comments

ByMaster "Chief of Barter Town" Blasteron January 15, 2006

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#### There was a problem loading comments right now. Please try again later.

Please write at least one word

You must purchase at least one item from Amazon to post a comment

A problem occurred while submitting your comment. Please try again later.

Show more comments

ByA Comp Science Instructoron 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.

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#### There was a problem loading comments right now. Please try again later.

Please write at least one word

You must purchase at least one item from Amazon to post a comment

A problem occurred while submitting your comment. Please try again later.

Show more comments

BySami Väisänenon 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.

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#### There was a problem loading comments right now. Please try again later.

Please write at least one word

You must purchase at least one item from Amazon to post a comment

A problem occurred while submitting your comment. Please try again later.

Show more comments

ByJonason 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#### There was a problem loading comments right now. Please try again later.

Please write at least one word

You must purchase at least one item from Amazon to post a comment

A problem occurred while submitting your comment. Please try again later.

Show more comments

BySaad L.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.

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#### There was a problem loading comments right now. Please try again later.

Please write at least one word

You must purchase at least one item from Amazon to post a comment

A problem occurred while submitting your comment. Please try again later.

Show more comments

ByJoe Jevnikon 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#### There was a problem loading comments right now. Please try again later.

Please write at least one word

You must purchase at least one item from Amazon to post a comment

A problem occurred while submitting your comment. Please try again later.

Show more comments

byNarasimha Karumanchi

$35.99

Let us know here.

There's a problem loading this menu right now.

Get fast, free shipping with Amazon Prime

Prime members enjoy FREE Two-Day Shipping and exclusive access to music, movies, TV shows, and Kindle books.

Back to top

Get to Know Us | Make Money with Us | Amazon Payment Products | Let Us Help You |

- Conditions of Use
- Privacy Notice
- Interest-Based Ads
- © 1996-2016, Amazon.com, Inc. or its affiliates

|63 people found this helpful. Was this review helpful to you?YesNoReport abuse