 |
 |
truly best: 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.
Pseudo-Code? Not!!!: In order to understand the book, one must understand the author. Gilberg is the type of professor that concerns himself more with flowcharts and whether students staple assignments properly. The book was originally riddled with algorithmic mistakes that were not obvious because, guess what? You cannot compile pseudo-code. The author seems to come from the school of thought that places importance on theory over practice. Is it no surprise that the C++ portions (from the helper site) are no more than converted C code with couts? In today's market, you have to write code, not pseudo-code. You have to compete in a global market. This fossilized notion of pseudo-code not only hides the fact that possibly the lazy professors couldn't write code to save their lives, but also is a disservice to students who WANT to not only learn data structures in the context of MODERN engineering practices, but also want to know how to IMPLEMENT data structures - be it C++, C#, Java - as well. I'll wrap up with a final word for students and professors: - Professors: Please don't torture your students with this book. - Students: If your professor uses this book... Run!!
Excellent!: 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).
Do not pay for this book: I had to buy this book for a computer science course. Thankfully I got a refund on it when I tested out of the course two weeks later. For those who are forced to learn the contents of this book, here is what to expect, as I read the entire book. Since I was already very familiar with most concepts ( ie. actually programmed them ), I have to say that no book has made me more confused or angry than this one. Ideas that are simple are obscured with inappropriate examples / wordings, so I actually had to read many paragraphs TWICE, to get the point of the author. Even the pictures are far from refined, and the presentation is quite amateur. There were several times I just wanted to throw the book at the wall in disgust. As a first (and unbelievable) example, from page 2 you are given the "Commandments" of good Pseudocode. One such rule is never to use identifiers such as 'i' or 'j', as they should instead be given an 'english' name such as 'student'. On page 6, we have the first code example, where they proceed to use 'i' and 'j' within the code. Then they explain that, oh yes, 'i' and 'j' is actually a loop tradition in C++! So we're already confused! By page 6. Now, the beautiful thing is that you can read this for yourself right now, with Amazon's page excerpts. This sets the level of presentation for the rest of the book. My apologies to those who may like this book, but please take time to explore other books before this one. Programming is far easier than is explained in this book. At this level of programming development, a bad experience can be most discouraging. And this book is very, very bad.
| Author: | Richard F. Gilberg | | Author: | Behrouz A. Forouzan | | Binding: | Hardcover | | Dewey Decimal Number: | 005 | | EAN: | 9780534390808 | | Edition: | 2 | | ISBN: | 0534390803 | | Number Of Pages: | 736 | | Publication Date: | 2004-10-11 | | Release Date: | 2004-10-11 |
|