Rating:  Summary: A book that really pays off. Review: This book cuts to the essentials without digressing, unlike many other data structure books. The code requires a bit of studying and is not very clear, but once you get through the codes, it pays off. A learner who prefers having everything explained word by word might find this book too consise and without enough explanations. For other people, this is a great book.
Rating:  Summary: Just overall difficult to go through Review: This book gets way too caught up in mathematical terminology and offers too few actual code examples. Most of the code examples consist of showing the format of the class they want you to write with comments telling you what the code would do if they actually had any in there. Granted the authors are dealing with concepts in the book, but I always find it easier to grasp a concept with full working examples to tear apart.Aside from that, the book is extremely dry and difficult to read because the text is so boring. It's worse than reading a text on mathematics. Speaking of mathematics, this book will totally swamp anyone who doesn't have a strong algebra background. The authors assume that the reader uses fairly complex algebraic equations regularly. I'm pretty good with algebra, but a little out of practice since I've been concentrating on my job and learning C++. I find myself spending almost as much time figuring out what their equations mean as I do learning the concepts they're trying to describe. I would not recommend this book to anyone.
Rating:  Summary: Excellent Overall - Great content! Review: This book has an amazing amount of content. Very few data structures books contain quite as many structures as this one; In addition to containing all the common data structures one usually studies, people can also study Splay Trees, Compressed Tries, Patricia, Fibonacci Heaps...really the list keeps going. The only things that it seems to be missing are skip lists and multidimensional range trees... Most data structures have rigorous (college-level-worthy) proofs for complexity and performance. These proofs are typically required of a student in a graduate level course, and thus, this book could be used for a graduate-level text. Because of this however, some may find this book a little daunting, especially if you just need an introduction to the topic. The C++ code samples use templates so that the data structures can be generalized and used for any type. Therefore, the C++ code is very reusable. However, the code can sometimes be a bit hard to understand, mostly due to short variable names, and poor in-code comments. This is one of the reasons I didn't give this book 5 stars. Overall though, this book stands out in the crowd.
Rating:  Summary: Excellent Overall - Great content! Review: This book has an amazing amount of content. Very few data structures books contain quite as many structures as this one; In addition to containing all the common data structures one usually studies, people can also study Splay Trees, Compressed Tries, Patricia, Fibonacci Heaps...really the list keeps going. The only things that it seems to be missing are skip lists and multidimensional range trees... Most data structures have rigorous (college-level-worthy) proofs for complexity and performance. These proofs are typically required of a student in a graduate level course, and thus, this book could be used for a graduate-level text. Because of this however, some may find this book a little daunting, especially if you just need an introduction to the topic. The C++ code samples use templates so that the data structures can be generalized and used for any type. Therefore, the C++ code is very reusable. However, the code can sometimes be a bit hard to understand, mostly due to short variable names, and poor in-code comments. This is one of the reasons I didn't give this book 5 stars. Overall though, this book stands out in the crowd.
Rating:  Summary: Rich in contents, poor in implementations Review: This book is divided in 10 chapters for a total of about 600 pages.
Part about fundamentals give some description of complexity analisys and performance monitoring. Some sorting algorithms and some basic search algorithms are presented here. This section is not so exhaustive, still useful. It contains descriptions on how to abstract data types.
Part about array and structures explains how aggregate data types can be used to build more complex data types and teach how to manipulate them.
This section is not very useful and it is not projected in a "production environment". Things are explained in a too semplicistic way and don't fit real world data structure construction. This is the sensation you will have all over the book. Data structures explained in this book works only with integers number. In a real world you will not build data structures to store integers only. This approach simplify greatly source code and comprehension on how a particular data structure WORKS, but will not give you a good vision on how a real data structure should be PROGRAMMED. So this book remains more academic than practical. For theoretical explanations about data structures there are more exhaustive books around, like "Introduction to Algorithms" by Cormen, Leiserson and Rivest.
The material presented in this book is complete and updated and surely this is a great reference.Explanations are well given.
So consider five star if you buy this book for understanding how data structures work, only three star if you need this book to have some implementations to look at. Not bad but implementations could have been written in a more robust way.
Rating:  Summary: A splendid formal treatment Review: This book treats the subject of algorithm analysis and data structure with great formalism. This book, in my view, is a must for any under grad course. This book lays foundation for a career in systems programming. However, if you only have passing interest in computer science, this is not a book for you. sunil@liberate.com
Rating:  Summary: A splendid formal treatment Review: This book treats the subject of algorithm analysis and data structure with great formalism. This book, in my view, is a must for any under grad course. This book lays foundation for a career in systems programming. However, if you only have passing interest in computer science, this is not a book for you. sunil@liberate.com
Rating:  Summary: Not user-friendly at all Review: Unfortunately, I had to purchase this book as part of my data structures class, and everybody in my class agrees it is just a horrible book for undergrad students. Too much mathematical jargon, coded algorithms which often have mistakes in them, and not enough plain english to convey to the reader the idea behind these fundamental concepts. If you want to learn, DO NOT buy this book.
Rating:  Summary: it is a good book overall Review: You need some programming experience or basic knowledge on data structures before come to this book. If you do have, you will find it is a very good book: very concise, clearly illustrating,and covering many topics you would really like to know. Don't be too picky if you really want to learn something. Try to understand what the author wants to talk about, think about what he was thinking while writing here. It is the way to get thru some language problem.
|