Most Helpful Customer Reviews
|
|
17 of 19 people found the following review helpful:
4.0 out of 5 stars
Third edition is much improved, May 13, 2005
When I learned that this was the required book for my introductory data structures class this semester, I was somewhat worried by the large number of very negative reviews I saw it had received here. However, during the first class meeting, the professor made a point of instructing us to get the third edition (published in 2004), explaining that the differences between the second and third editions were significant.
Judging by the older reviews below, he was right - the book I read seems to bear little if any resemblance to the one denounced by the other reviewers. I found it clear and readable, though it was rather basic and dry. But then, I wasn't expecting great literature - this is a introductory compsci textbook, after all. Though it could be dull at times, it generally managed to get its information across clearly, which is all it needs to do. There were some typos, of course, though probably not more than should be expected to accompany such a major revision. The book's main flaw was an index that had essentially no relation to the actual text itself. A corrected index is available at the book's Web site.
In terms of organization, Goodrich and Tamassia start off with a brief introduction to Java, object oriented design and a brief and very basic discussion of running time and asymptotic analysis. They then work their way through basic data structures and abstract data types - stacks, queues, vectors, lists, trees (general, binary, and binary search), priority queues, heaps, dictionaries, hash tables and graphs. They discuss the structures' purposes and major operations, analyze the operations' running times, and include decent, heavily-documented Java implementations of some of the structures and methods. They also do some stuff with algorithms, though generally nothing very complex or sophisticated. I used this book in an introductory data structures course at a liberal arts college, which managed to cover pretty much everything in the book with little difficulty.
There are a lot of exercises at the end of each chapter. Goodrich and Tamassia divide them up into progressively more complex "Reinforcement", "Creativity" and "Projects" sections. My instructor preferred to assign problems and programming assignments of his own creation, though, so I don't know how helpful or useful the exercises in the book actually are.
All in all, it seem Goodrich and Tamassia noticed the sort of reviews the earlier editions of this book were getting and took steps to correct the many problems they had. I expect that if you have to use the book in a data structures course, you'll find it at least reasonably clear and generally acceptable. As long as you're using the third edition, that is.
|
|
|
8 of 8 people found the following review helpful:
3.0 out of 5 stars
Hundreds of typos, and authors apparently don't want to know, November 25, 2005
I'm finding the 4th edition reasonably clear and comprehensive. However, the book is teeming with typographical errors. Most of them are typesetting errors involving superscripts and subscripts that overlap the adjacent characters so they aren't fully legible. But there are numerous other miscellaneous typos.
So, I've been marking them in my copy, in order to submit them to the authors or publisher, but apparently they don't want to know about the typos. The "errata" section at java.datastructures.net contains no errata and no instructions on how to submit errata. I wrote to one of the authors to ask how to submit errata, but received no reply.
|
|
|
15 of 18 people found the following review helpful:
1.0 out of 5 stars
A hideous book for undergrad D&S, February 25, 2003
This is required reading in a CS course I take, and I find it to be an annoyingly confusing book. The language is exceptionally unclear, remeniscient of a bad math book on calculus. The code examples of ideas are sparse and skinny on details. Far too often something is "trivial" or left as an exercise. In addition the accompanying exercises are far harder than the in text material (what little there is to look for for reference). Some subjects which I would expect to have several pages on, IE: the ideas of polymorphism, casting and inheritanc , contain a mere page or less. The claim that the book is "well illustrated" is also quite false, unless you feel like counting the pictures in the headers of the chapters. Overall I have found this book to be a meanace to my learning the material and I am thankfull that I possess an exceptional CS teacher who is able to fully explain what the book fails to do. {Hint to the authors: your book should NOT read like a lecture, it should read like a real textbook, one that actually covers MORE than the professor does in class instead of far less.)As a side note, I wish to note that Professor Morelli's book Java, Java ,Java (ISBN 0130333700) is most excelent (although it does not cover the same topic) some of the intro materials (chapters 1 and 2) overlap, and I found myself referring to it constantly in preference to this monstrosity that I now call a textbook.
|
|
|
Most Recent Customer Reviews
|