A review by therealmlg
Grokking Algorithms: An Illustrated Guide for Programmers and Other Curious People by Aditya Y. Bhargava

5.0

Extremely clear and engaging book that's perfect for beginners to algorithmic concepts or for more seasoned folks who want to brush up on foundational ideas by thinking about them in a different way. Examples along the way are a great way to stay engaged with the material and the questions are well-written. I also recommend trying to write the functions in your language of choice before they are presented -- this book uses Python -- it's a great way to stay engaged and test comprehension.

Explanations of recursion and Big O notation in this book are among the best I have ever encountered, and most clear (without skipping the logic that underpins the concepts, like logarithms and call stacks). Ideas presented become more and more abstracted and general as it proceeds and serve as a way to dip your toe into subtopics in algorithmic problem-solving without needing to understand every detail. This part was less interesting to me because it didn't lead to any major paradigm shifts in thinking, but I enjoyed it all nonetheless.