Average Customer Review:    
I know how to program in Java and I have basic knowledge of C/C++. I need to get up to speed on data structures and algorithms w/o going through mathematical "reasons" why a certain data structure and algorithm is more efficient than another. I needed to know the whats and hows.This book gave me exactly that. I was able to convert the book's pseudocode into C code without peeking at the author's actual implementation. This is how easy the book is to understand (given you know what pointers and dynamic memory allocation are and how to use them). I'm not sure what the other readers are complaining about. This isn't a book about software engineering (and the author implicitly implied it each time he said such topics are outside the scope of the book). Another reader wanted more examples. There are times when I want hand-holding myself but only in specific topics such as game programming. This is a book on data structures and algorithms not data structures and algorithms used in encryption, compression, file management, etc. By the way, I'm referring to the previous edition (in C).
I've taken a data structure course with this book long time ago. However(like all other Gilberg, Forouzan books), the book remains one of my favorites, combining concepts, graphics, and algorithms in the most efficient and helpful manner you are unlikely to find anywhere else.Now regarding somewhat negative comments made by previous posters as I have to disagree with them to say the least. The purpose of the book(and the subject in general), is not to teach you a certain programming language, although you might enhance your knowledge in the process. It is to teach you concepts of data organization and manipulation theory that can be implemented in C, C++, Java and so on.
|