Hardcover: 512 pages
Publisher: Prentice Hall; 2 edition (September 16, 2000)
Product Dimensions: 7.3 x 1.3 x 9.5 inches
Shipping Weight: 1.9 pounds
Average Customer Review: 2.3 out of 5 stars See all reviews (24 customer reviews)
Best Sellers Rank: #1,627,849 in Books (See Top 100 in Books) #151 in Books > Computers & Technology > Programming > Algorithms > Data Structures #255 in Books > Computers & Technology > Programming > Software Design, Testing & Engineering > Structured Design #329 in Books > Textbooks > Computer Science > Algorithms
I used this textbook to teach Data Structures and Algorithms at the sophomore-junior level to a class of 100 students. My primary focus is to teach the design and use of DS&A with a secondary focus on implementation in a specific language (Java in this case). From this point of view: Part I is excellent. Part II is above average. The discussion of trees is average with an implicitly narrow view of applications. Part III on sorting and searching is average with the exception of the horrible discussion of benchmarking in 8.8. The data are unqualified and misleading (compiled and interpreted run-times are compared as equals!). The discussion of hashing and B-Trees is poorly organized and narrow. Parts III and IV are oriented towards Java implementation. As such, there is no discussion of the limitations of actually using recursion in an implementation nor the efficient use of object-oriented structures in cache-based architectures. For a better discussion of DS&A, many of my less experienced students found relief in Robert Lafore's book (ISBN 1571690956) and the more advanced students consulted Weiss's text (ISBN 0201357542). For the following term I will try Cormen, Leiserson, and Rivest's classic Introduction to Algorithms (ISBN 0070131430) which uses pseudo-code and Lafore's book as a required supplement.
I am a Computer Science student at Virginia Tech and Cliff Shaffer taught my Data Structures class. This book was used in the class, and many of my fellow students would agree, this book is awkward in every sense of the word. Not only is the material poorly written and confusing, the code examples didnt help much either. I found myself constantly reading and re-reading sections that were needed for programming assignments and going huh? If you have a strong desire to learn data structures, keep looking for your data structures book, this one isnt it...
I have been using this book for a college course and have found other texts that are much more clear. I am disappointed with the authors examples of Java code due partly because of his breaking conventions in naming and compact style. The author repeatedly uses unconventional names for his classes which results in hard to follow implementations. The author also uses his own custom classes (which is not necessary for study) in his examples. The author has decent explanations of various notations such as Big-O, Big-Omega, and Bit-Theta. However, I would not recommend this book for any introductory course in data structures and algorithm analysis.
I'm a M.S. student at Virginia Tech and had to use this book for a class. A lot of the java code in this book should be chucked, and this is coming from a sun certified java programmer. Unconventional identifiers, supposedly predefined methods that don't exist in java API, little attempt to clarify the code specially in the graphs chapter (7). Appears to be poorly translated C++ code just thrown into the book. I was so frustrated re-reading sections of a code 10-20 times just to understand what he was on about. This calibre of programming I would expect from a confused college kid whos stayed up all night working on a project, not from a college professor. During his explanations in class our professor (not Shaffer) has pointed out several conceptual mistakes to date. Conclusion: Not college textbook material.
Lots of examples and thorough coverage give this book a shot at being a valuabe book. However, Shaffer's coding style is difficult to read and often bogged down in overly object oriented complexity. Furthermore, unintuitive explanations of concepts make the non-coded aspects of the book frustrating to read. Taking the books price (currently $63.00 new) into consideration, I'd pass this one up.
Overall, this book is simply awkward. The code is difficult to read and the text is hard to follow. Also, there are few, if any, practical examples. If this book wasn't required for the class that I'm taking, I would definately pass on it.
...but this was a mandatory book for my university's two-course Data Structures & Algorithms sequence that all computer scientists and computer engineers must take.Coming in with a good deal of programming experience, I find that this book is not as clear or as complete as it could be. The sample code snippets throughout tend to be awkwardly implmented with obscure variable names and obtuse datatyping, and more often than not represent 'a' way of accomplishing a task rather than 'the best' way. Finding better ways of doing things is normally left for exercises at the end of the chapter; the answers are not included with the book.Also, many significant details or comments are skimmed over or are ommitted from the text. Many important (and complex) observations are left as exercises - but again, the answers are not included, so there is no way of validating your answers.Further, this book is targeted at the C++ language. It is obscene to discuss data structures and algorithms without mentioning the free, prepackaged, and optimized code of the C++ Standard Template Library. Indeed, this book and the code it includes would have benefitted from the ingenious architecture and software engineering behind the STL.I really hope the campus bookstore will buy this one back when I'm done with it.
Practical Introduction to Data Structures and Algorithm Analysis (C++ Edition) (2nd Edition) Data Analytics: Practical Data Analysis and Statistical Guide to Transform and Evolve Any Business Leveraging the Power of Data Analytics, Data Science, ... (Hacking Freedom and Data Driven Book 2) Data Structures and Algorithm Analysis in C (2nd Edition) Data Structures and Algorithm Analysis in C++ (3rd Edition) Data Structures and Algorithm Analysis in Java, Third Edition (Dover Books on Computer Science) Data Structures and Algorithm Analysis in C++, Third Edition (Dover Books on Computer Science) Data Structures and Algorithm Analysis in Java Data Structures & Algorithm Analysis in C++ Data Architecture: A Primer for the Data Scientist: Big Data, Data Warehouse and Data Vault Starting Out with Java: From Control Structures through Data Structures (2nd Edition) (Gaddis Series) The Data Revolution: Big Data, Open Data, Data Infrastructures and Their Consequences Big Data For Beginners: Understanding SMART Big Data, Data Mining & Data Analytics For improved Business Performance, Life Decisions & More! Discovering Knowledge in Data: An Introduction to Data Mining (Wiley Series on Methods and Applications in Data Mining) Data Just Right: Introduction to Large-Scale Data & Analytics (Addison-Wesley Data and Analytics) Microsoft Excel 2013 Data Analysis and Business Modeling: Data Analysis and Business Modeling (Introducing) Java Software Structures: Designing and Using Data Structures (3rd Edition) Java Software Structures: Designing and Using Data Structures Starting Out with Java: From Control Structures through Data Structures (3rd Edition) Java Foundations: Introduction to Program Design and Data Structures (2nd Edition) (Lewis) Algorithm Design: Foundations, Analysis, and Internet Examples