- Paperback: 1024 pages
- Publisher: Addison-Wesley 2009-10-07; 4th edition (October 7, 2009)
- Language: English
- ISBN-10: 0321541405
- ISBN-13: 978-0321541406
- Product Dimensions: 7.4 x 1.6 x 9.1 inches
- Shipping Weight: 3.3 pounds
- Average Customer Review: 2.8 out of 5 stars See all reviews (37 customer reviews)
- Amazon Best Sellers Rank: #343,117 in Books (See Top 100 in Books)
Enter your mobile number or email address below and we'll send you a link to download the free Kindle App. Then you can start reading Kindle books on your smartphone, tablet, or computer - no Kindle device required.
To get the free app, enter your email address or mobile phone number.
Data Structures and Problem Solving Using Java 4th Edition
Use the Amazon App to scan ISBNs and compare prices.
Customers Who Bought This Item Also Bought
More About the Author
Top Customer Reviews
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.
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.
Most Recent Customer Reviews
$600 for a used version this book, really? That's what I just read right before I clicked to write this review. Read morePublished 1 month ago by Howard
this might just be the worst textbook i have used in my 8 years in academics. no clear explanations provided and much important and relevant code is summed up with "// other... Read morePublished 10 months ago by danielle
[REVIEW OF FOURTH EDITION]
I'm taking a Data Structures in Java course in the Fall and this is the required text for that class. Read more
His examples are trying to hard to be "tricky" and "clever," however the information give is pretty top notch. Read morePublished on January 14, 2014 by Mayson Crowe
Unfortunately, I cannot say that I much liked this book. The text is very dry, and is not at all fun to read. Read morePublished on January 9, 2014 by Lemony Snicket
I used the 2006 edition of this book for a class 3 years ago, and we used it for its information about Java class concepts, like hashcode, Collections, etc, and other basic... Read morePublished on April 9, 2013 by Nathan G. Glenn
The book is helpful and I would recommend buying it for your classes, but if you do be prepared to wait at least 2 and a half weeks for your book to ship. Read morePublished on August 30, 2011 by xpudenz
Book was a required textbook for a class. I hardly ever used it, and when I did, I never felt enlightened beyond what I got from asking the professor.Published on July 21, 2011 by cmonyuk
Mark Allen Weiss's "Data Structures and Problem Solving Using Java, 3rd Edition" is a good reading if you're already familiar with Java and a few other programming languages, and... Read morePublished on October 18, 2010 by aMAZon