Full description not available
B**D
Best Data Structure/Algorithm Book on the Market for the Vast Majority of Developers"
As someone who does not come from a computer science background but works as a software engineer, I've had learning data structures and algorithms on my bucket list for quite some time. Working within the Ruby on Rails and SQL worlds has had me heavily shielded from the ideas and concepts of DS&A. My primary goal was to learn enough to pass the stereotypical Google/Amazon/Microsoft/Yahoo coding exam as well as conduct a similar engineering interview from the opposite end of the table. Since textbooks are my preferred way of learning, I set out in search of the DS&A book that would allow me to reach that goal.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:1 Overview2 Arrays3 Simple Sorting4 Stack and Queues5 Linked Lists6 Recursion7 Advanced Sorting8 Binary Trees9 Red-Black Trees10 2-3-4 Trees11 Hash Tables12 Heaps13 Graphs14 Weighted Graphs15 When to Use WhatFor 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.
C**L
Very Good Intro to Data Structures
This is an awesome intro to data structures. I purchased the book over Christmas break in order to prepare for a data structures class at school. Due to the fact that the book we were using had gotten such poor reviews on here and after hearing people talk about how hard the class was. I wanted to get a head start and couldn't have picked a better book for self study. I want to preface this by saying I had no idea what a BST(Binary Search Tree) was before even starting this book and after finishing had a rock solid grasp on all the DS in the book.Pros:------* 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.Cons:------*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).Bottom Line:------------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
B**P
Excellent Textbook but a WARNING
This is an excellent textbook and I have adopted it for spring term in our algorithms course. Well typeset, many examples, code samples, and a little history. There is one TREMENDOUSLY IRRITATING aspect of its delivery, but I will not de-star a superb textbook for this flaw: There is an arbitrary limit on the number of devices on which the book can appear. I would like to read the book on my laptop, my desktop, either of two Kindles AND show the book on the projector in the classroom by viewing it on the podium computer. With NO benefit to the author or publisher, and at a huge inconvenience to me, I cannot use the book the way I had planned. IF there were an equivalent text without this capricious installation cap I would drop this book in a heartbeat and replace it with one published in a manner the takes the reader's goals into account. SHAME on Amazon, on the publisher, and a heads up to the Author that his outstanding work is being partially silenced.
Trustpilot
Hace 3 semanas
Hace 2 meses