- Hardcover: 800 pages
- Publisher: Sams Publishing; 2 edition (November 16, 2002)
- Language: English
- ISBN-10: 0672324539
- ISBN-13: 978-0672324536
- Product Dimensions: 7.6 x 1.9 x 9.2 inches
- Shipping Weight: 3.4 pounds (View shipping rates and policies)
- Average Customer Review: 105 customer reviews
- Amazon Best Sellers Rank: #29,011 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 mobile phone number.
Data Structures and Algorithms in Java (2nd Edition) 2nd Edition
Use the Amazon App to scan ISBNs and compare prices.
The Amazon Book Review
Author interviews, book reviews, editors picks, and more. Read it now
Frequently bought together
Customers who bought this item also bought
From the Back Cover
"Data Structures and Algorithms in Java, Second Edition" is designed to be easy to read and understand although the topic itself is complicated. Algorithms are the procedures that software programs use to manipulate data structures. Besides clear and simple example programs, the author includes a workshop as a small demonstration program executable on a Web browser. The programs demonstrate in graphical form what data structures look like and how they operate. In the second edition, the program is rewritten to improve operation and clarify the algorithms, the example programs are revised to work with the latest version of the Java JDK, and questions and exercises will be added at the end of each chapter making the book even more useful. Educational Supplement Suggested solutions to the programming projects found at the end of each chapter are made available to instructors at recognized educational institutions. This educational supplement can be found at www.prenhall.com, in the Instructor Resource Center.
About the Author
Robert Lafore has degrees in Electrical Engineering and Mathematics, has worked as a systems analyst for the Lawrence Berkeley Laboratory, founded his own software company, and is a best-selling writer in the field of computer programming. Some of his current titles are C++ Interactive Course and Object-Oriented Programming in C++. Earlier best-selling titles include Assembly Language Primer for the IBM PC and XT and (back at the beginning of the computer revolution) Soul of CP/M.
Top customer reviews
Most guru lists will tell you that "Introduction to Algorithms" aka "CLRS" is the book to buy in this field. I would strongly disagree with this notion unless the reader is already very savvy in DS&A as well as mathematics. From my experience interviewing dozens of engineers over the last few months, a very small percentage of engineers are actually at that level. Similar lists recommend Skiena's book as an alternative to CLRS since it is slightly more accessible. Although I didn't look at Skiena's book as thoroughly as I did CLRS, it didn't seem to be much more beginner friendly. I initially ended up buying the "DS&A Made Easy" book--the reviews were good, the pages available via Amazon preview looked good, the book focused on DS&A from an interview perspective rather than mathematical proofs, and I also liked the author's stated approach (get something working, even if its terribly inefficient...then work on efficiency). Then the book came in the mail. After a week of browsing through the text, I actually threw the book in the trash. The English was bad, the code examples weren't well written, and there was a lot of hand waving where there shouldn't have been.
Then I found LaFore. His writing is extremely clear and never pretentious. The order in which he tackles DS&A topics is much more logical than the other texts I've seen. The Java code in each of the in-chapter exercises works perfectly. The charts and drawings are very helpful. The author knows exactly how far to take the discussion so that the reader is learning a concept thoroughly but not being beaten over the head with it or taken too far down the rabbit hole. I became more comfortable with the Java language itself working through the coding problems in this book than I did using a pure "Learn Java"-type book in the past. I read this book cover to cover over the course of a few months and can't say enough good things about it. No longer are DS&A initimidating to me.
The chapters are as follows:
3 Simple Sorting
4 Stack and Queues
5 Linked Lists
7 Advanced Sorting
8 Binary Trees
9 Red-Black Trees
10 2-3-4 Trees
11 Hash Tables
14 Weighted Graphs
15 When to Use What
For me, the most difficult subjects by far were recursion and red-black trees. In fact, unlike any of the other topics listed above, coding a red-black tree is beyond the scope of this book.
In summary, this book may be the best technical text I have ever read (and I usually read 3-4 per year). I've read a handful of technical textbooks that were about simpler topics, were more complex reads, and I would still consider them good to great books. In fact, LaFore's DS&A book is so exceptional that I even considered buying his 11 year old C++ book to learn C++, even though learning C++ isn't on my bucket list.
My recommendation list for DS&A related works is as follows:
-If you are a DS&A beginner, choose LaFore's DS&A in Java book (most people fall into this category).
-If you are looking for more formal technical interview prep, buy one of Gayle Laakman's books as a companion piece. Laakman's works typically don't teach you DS&A themselves but prepare you for how you'll typically see them in an interview.
-If you are already very strong in DS&A and are looking for something beyond what you'd see in a typical technical interview, look into CLRS, Skiena, Sedgewick (who LaFore strongly recommends for further reading) or if you're really an expert--(gulp) Donald Knuth.
The Stream API takes care a lot of these details in Java, but understanding how they actually work will make your use of it that much better.
This book is easy to read, has good examples, and is way more approachable than the free PDFs that can be found.
The language is straight-forward with down-to-earth examples and code. The applets provided to help the understanding clearly achieve this goal. It's a 5/5.
However, for more advanced topics and rigorous math, you need to read other DS&A books. Unlike CLRS, this is by no means a complete guide to DS&A, but I doubt how many beginners feel comfortable with way things are explained in CLRS.