Paperback: 1024 pages
Publisher: Pearson; 4th edition (October 7, 2009)
Language: English
ISBN-10: 0321541405
ISBN-13: 978-0321541406
Product Dimensions: 7.3 x 1.4 x 9.1 inches
Shipping Weight: 3.3 pounds (View shipping rates and policies)
Average Customer Review: 2.8 out of 5 stars See all reviews (39 customer reviews)
Best Sellers Rank: #159,215 in Books (See Top 100 in Books) #18 in Books > Computers & Technology > Programming > Algorithms > Data Structures #165 in Books > Textbooks > Computer Science > Database Storage & Design #183 in Books > Computers & Technology > Programming > Languages & Tools > Java
I am using this book in a class on Data Structures and Algorithms. This book has a lot of material and code in it which makes it good. However, his explanations are terrible. They are ambiguous and unclear. If you can teach yourself from the code, then this is a good book for you. If your looking for clear explanations, look somewhere else.
[A review of the THIRD EDITION 2005]The book teaches two things. Algorithms that are very useful in computing. And how these can be coded in Java.The explanation of the algorithms requires a reasonable amount of mathematical sophistication on your part. They all relate to discrete maths, and cover topics like sorting, random number generation and graphs. The complexity of the discussion is less than that in Knuth's "Art of Computer Programming". Perhaps more akin to Sedgewick or Aho's algorithms texts. There is a fair amount of abstraction that you'll have to deal with.The other task in the book is explaining how Java is well suited in which to code these algorithms. Weiss also makes good use of the Java interface ability. If you think of an algorithm as being implemented in a subroutine [ie. a procedural approach], then the book uses interfaces to let you design a program at a higher level, and making it quite modular and independent of specific implementations of given algorithms.The book does deal with Java 5. But perhaps the most important aspect of Java used in the book is the interface. So the book is quite germane even if you are using an earlier Java.But what if you program in another language? Is the book relevant? Quite possibly. Firstly, some other languages, like C#, have interfaces. More importantly, if you regard the algorithms as the most important aspect of the book, and you are a skilled programmer, then coding is the easier aspect.A remark to a lecturer: If you are teaching a course and are contemplating this book as its text, be careful. Try to ensure that the expected background of your class is compatible with the book. For example, if they will be experienced Java programmers, but have little maths knowledge (and this combination is certainly possible), then the book may not be very useful to them.
I got the 2002 edition of this book for a class one and a half year ago. It is a great book. Yes, the book covers some of the basics of Java, then it goes into various analysis, algorithms, implementations, etc. It is not for beginners, and some math background will help tremendously. There is no way we could have covered all the topics in the book. It is simply too rich. It is very well written and contains great explanation. I especially like the Big Oh introduction. I found myself getting even more out of it every time I go back and read it again. Just like everything else in life, repitition is the key.
This book provides an introduction to algorithm analysis, and data structures and is aimed at an audience with little previous programming experience.The first four chapters are devoted to preliminaries including a brief overview and explanation of core Java, references, objects,classes, and inheritance.The second part of the book covers fundamentals of algorithm analysis, data structures, recursion,sorting algorithms, and randomization. Weiss's presentation of these topics includes some theorems and proofs, but is not mathematically rigorous. The example programs are generally clear and concise. The exercises and projects at the end of each chapter are straightforward.The third part of the book is devoted to applications of the data structures and includes word search puzzles, tic-tac-toe, a balanced symbol checker, file compression, a cross-reference generator, and graphs.The fourth section is devoted to implementations of data structures. Here is where Weiss's work falls short. Most of the implementions presented are adequate, however, the binary tree traversal code that Weiss supplies in Chapter 17 is not only unimpressive but also exasperating. What should be an elegant, concise algorithm is transformed into an incomprehensible mess. Even a mediocre undergraduate should be ashamed of coming up with something this twisted. More elegant treatments of this subject are provided in Sahni's books.The appendices,covering Java platforms, operators, library routines, and graphical user interfaces, seemed unnecessary.In short, the book is adequate only at the introductory level. Serious students and those who require a more detailed and rigorous approach should look elsewhere.
Unfortunately, I cannot say that I much liked this book. The text is very dry, and is not at all fun to read. I was going to try to read it for fun during the summer, but stopped shortly after a few pages. The author's writing style isn't intriguing either. It honestly bugged me how it was written and structured. It's hard to believe that this was published, considering it includes words like "irregardless," which isn't a proper word (ir being a negative, this becomes a double negative, "without without regard"). Luckily, I've been programming long enough that I only needed to refer to it once or twice (and the book didn't help when I did so).
JAVA: Quick and Easy JAVA Programming for Beginners (Java, java programming, java for dummies, java ee, java swing, java android, java mobile java apps) Data Structures and Problem Solving Using Java (4th Edition) Java Programming Box Set: Programming, Master's Handbook & Artificial Intelligence Made Easy; Code, Data Science, Automation, problem solving, Data Structures & Algorithms (CodeWell Box Sets) Java Programming: Master's Handbook: A TRUE Beginner's Guide! Problem Solving, Code, Data Science, Data Structures & Algorithms (Code like a PRO in 24 ... design, tech, perl, ajax, swift, python) Data Structures and Problem Solving Using Java (3rd Edition) JAVA: The Ultimate Guide to Learn Java Programming Fast (Programming, Java, Database, Java for dummies, coding books, java programming) (HTML, Javascript, ... Developers, Coding, CSS, PHP Book 1) Swift: Programming, Master's Handbook: A TRUE Beginner's Guide! Problem Solving, Code, Data Science, Data Structures & Algorithms (Code like a PRO in ... mining, software, software engineering,) Ruby Programming Box Set: Programming, Master's Handbook & Artificial Intelligence Made Easy; Code, Data Science, Automation, problem solving, Data Structures & Algorithms (CodeWell Box Sets) Ruby: Programming, Master's Handbook: A TRUE Beginner's Guide! Problem Solving, Code, Data Science, Data Structures & Algorithms (Code like a PRO in 24 ... design, tech, perl, ajax, swift, python) Data Structures in Java: From Abstract Data Types to the Java Collections Framework Java Software Structures: Designing and Using Data Structures (3rd Edition) Java Software Structures: Designing and Using Data Structures Data Structures and Other Objects Using Java (4th Edition) Java: The Ultimate Guide to Learn Java and C++ (Programming, Java, Database, Java for dummies, coding books, C programming, c plus plus, programming for ... Developers, Coding, CSS, PHP Book 2) JAVA: Easy Java Programming for Beginners, Your Step-By-Step Guide to Learning Java Programming (Java Series) Data Abstraction and Problem Solving with Java: Walls and Mirrors Java: An Introduction to Problem Solving and Programming (4th Edition) Swift Artificial Intelligence: Made Easy, w/ Essential Programming; Learn to Create your * Problem Solving * Algorithms! TODAY! w/ Machine Learning & Data Structures (Artificial Intelligence Series) Algorithms: C++: Data Structures, Automation & Problem Solving, w/ Programming & Design (app design, app development, web development, web design, jquery, ... software engineering, r programming) 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)