|Digital List Price:||$51.99|
|Print List Price:||$64.99|
|Kindle Price:|| $38.99 |
Save $26.00 (40%)
Your Memberships & Subscriptions
Follow the Author
Data Structures and Algorithms in Java 2nd Edition, Kindle Edition
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.
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.
From the Back Cover
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.
- ASIN : B075F9H5G1
- Publisher : Sams Publishing; 2nd edition (September 6, 2017)
- Publication date : September 6, 2017
- Language : English
- File size : 64273 KB
- Simultaneous device usage : Up to 5 simultaneous devices, per publisher limits
- Text-to-Speech : Enabled
- Screen Reader : Supported
- Enhanced typesetting : Enabled
- X-Ray : Not Enabled
- Word Wise : Not Enabled
- Sticky notes : On Kindle Scribe
- Print length : 800 pages
- Best Sellers Rank: #697,357 in Kindle Store (See Top 100 in Kindle Store)
- Customer Reviews:
About the author
Top reviews from the United States
There was a problem filtering reviews right now. Please try again later.
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.
* Really easy to read the author has a very laid back style and actually explains things, and unlike most authors does a good job of making the foundational concepts clear.
* The books webpage has a bunch of applets you can download for free(1 for each data structure covered in the chapter) its very nice because the author uses them when explaining things. So you can actually see what happens when for example you insert something into a red black tree or delete something from a 2-3-4 tree. I find that this is much more inline with the style teachers use in class by explaining and drawing on the white board (which is obviously lacking from most books).
*Each data structure gets its due, the author devotes 40-60 pages on each DS and really goes in depth about each of their unique features. For example there is a really good description in the hash table chapter about the different kinds of collision handling which was glossed over at best in the DS book I used for my class.
*Very in-depth coverage of the usually difficult RBST, which when we learned them in school I was already so comfortable with them it was a review if anything.
*This really is an introduction to DS the you only get about 12 of them and they are usually the 1 or 2 basic types for each category. For example in the heap chapter the author talks about priority queues and binary heaps(which he fails to call them by name). But there is no mention of leftist heaps, Fibonacci heaps, or any of the other types. This isn't a big deal since they can be easily understood with the knowledge you'll gain from this book.
I'm honestly hesitant as to whether or not to list this as a drawback because its honestly a very minor one and for the author to cover all those ancillary data structures in the detail the book goes into it would probably have to be a 3-4 volume set.
*Lacks the proofs that most D.S. books include this isn't a big deal if you know how to do induction proofs you can look them up online and prove them for yourself (which is the point anyway).
-Incredible D.S. book
-Excellent for self-study
-Easy to read/understand
-Applets are very helpful
-You will have an extremely solid understanding of the D.S. covered in this book when your done reading it
Top reviews from other countries
Whether you have a lot of experience programming or barely any, the book allows you to refresh or learn crucial concepts. The structure of each chapter is great, with learning content first, examples (both code and explanation) and then a small quiz at the end.
None I can think of really.
I am a good programer but not so good at my CS concepts. I needed a book which was practical, there was proper implementation( programs ) without any errors in them.
This book ticks all my requirements.
Well written programs in Java. I have coded them, no errors. Beautiful explanation. The book doesn't mind being a little redundant in favour of ease of use. The way graphs are explained practically, it was very useful.
The book focuses on why as well. This is a complete book.
After this book, if you want you can dive into advance books, you will have a very strong base because of this.