A Common–Sense Guide to Data Structures and Algorithms, 2e: Level Up Your Core Programming Skills
N**W
Amazing book for Data structures and Algorithms to start with.
Loved this book. This book easily establishes foundation for DS and Algorithms. It really helps to boost the confidence. Highly recommended.
N**S
Beginner Friendly
Highly recommended for beginners, who are really want a solid understanding of DSA. As for now i have completed 3 chapters. Really enjoyable.Will update this review once I complete this book.Product deliverd with little bit damage. Reason for 4 star.
C**N
Excelente libro
Ampliamente recomendado
G**O
Great for beginners and advanced devs
For some reason I see many people not recommending this book for beginners and recommending Grokking Algorithms instead. These people say this one is more advanced.I must say it's not! It's an amazing book, really well explained in layman terms. Illustrations are great and the play by play of algorithms is very efficient at helping you visualize the solutionsIt's much better than Grokking Algorithms, IMO
A**S
Buy it! An excellent and easily understandable guide to the most important algorithms!
What I was looking for:- A guide to help me advance my knowledge of data structures and algorithms (DS&A) using Python. (I am already proficient in Python, and I had previously completed one DS&A course. I was looking to take my skills to the next level.) Fortunately, I found nearly all of what I was looking for in one concise and accessible package. Most of the sample code in this book is written in Ruby, with a small amount written in Python. In the course download highlighted by the author, you can find Python code (along with Ruby and JavaScript) for solutions to the exercises. In my case, to learn the algorithms and complete the exercises, I converted relevant code to Python myself, and ran it in a Jupyter notebook or in the debugger included in VS Code 2. (The debugger is very helpful, as it enables you to set breakpoints and step through the code incrementally as it runs to see how variables, lists, sets, and dictionaries change.)What I liked:- The author is clearly an expert with a lot of practical experience building, analyzing, deploying, and improving algorithms- I found coverage of nearly all of the most important data structures and algorithms I was looking for- The book is very well-written, accessible, and not too long (~437 pages)--the editor did a great job- The author helpfully described (stepped-through) code execution when needed to clarify things- There was great coverage of string methods, arrays/lists, sets, hash tables (dictionaries), recursion, dynamic programming (memoization and bottom-up methods), linked lists and doubly linked lists, queues, binary search trees (BSTs), sorting methods, heaps, tries, graphs (weighted and unweighted), search methods (DFS and BFS), and more- There was useful context to help me understand when I might want to create an abstract data structure rather than rely on data structures already included in built-in Python modules- I accumulated more than 200 code snippets (algorithms) during my journey through the book- Chapter 20 included many useful tips for analyzing and speeding-up custom codeWhat I would have changed:- I would have preferred to see all the code in Python. If you are a reader who needs help understanding Ruby or converting Ruby to Python, your favorite AI chatbot (ChatGPT, etc.) can help you out.- It would have been helpful to see a discussion of space complexity (not just time complexity) much earlier in the book, so that the author could have discussed both types of complexities for each code snippet providedWhat I didn't see and hope to find in the next edition:- Backtracking- 'Sliding window' technique- B-trees- A bit on the Greek letter notations for Big O (omega, theta, and omicron)- A bit more on techniques for visualizing the performance of custom code for comparison to standard time and space complexity benchmarksOverall, I would definitely recommend this book to others who would like to learn more about data structures and algorithms and write better code. It is a great book, and I am happy to tell others about my experience with it! If you need a digital version of this book (DRM-free pdf or epub), you can find it on eBooks.com.
R**S
Great for self taught programmers
As someone who taught myself to code as a kid, I’ve often regretted never getting a formal CS degree because I missed out on some of the fundamentals. A lot of these are implemented for us in modern programming languages but they are important if you want to understand what’s actually going on and also for understanding the performance of your own code.I’ve tried a lot over the years to teach myself the common data structures and algorithms. I’ve learned a bit here and there but I found this book finally made a lot of them ‘click’ for me. It explains things so simply that when it comes to something like searching an array it seems too simple but makes more advanced topics really easy to understand.Also as another reviewer mentioned, the use of Ruby and Python (neither of which I’ve used before) actually makes it easier to understand the topics because the code is less cluttered with boiler plate code. It makes it easier to understand the algorithms.What a great book. Highly recommend this for a developers “must have” book collection.
Y**.
Very good book
Great book.I really recommend if you are a beginner and want to deep dive into algorithms and data structures.It's easy to follow and it's very well explained.You might surprised yourself enjoying it !
Trustpilot
1 month ago
2 weeks ago