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

4.0

I read this book to take a break from denser ones, and it liked it a lot. I wish I had read it when I started college, and I think it would have done a better job than my Data Structures and Algorithms teacher. Although I was already familiar with some of the algorithms explained in it, it was great to brush up on some concepts, and I found the drawings quite funny.

However, I think a complete beginner -the book's target reader, from what I can see- would still find it challenging, because the author chooses to arbitrarily skim over some parts. For example, bubble sort isn't even mentioned. Now, I don't think bubble sort is all that relevant in every-day programming, but it's great for providing a background on the things that more efficient algorithms -like quicksort or mergesort - improve upon.

Some parts are very code-example heavy, while others, like the chapter on dynamic programming, are not, which I think it's a shame because I've seen many beginners (including myself, 7 years ago) struggle with the leap from linear (i.e. arrays, list) to matrix thinking. I understand that the aim of this book is the opposite of being comprehensive and dense, but I think it would have been worth having them.

Nevertheless, I really enjoyed reading it and I look forward to reading Grokking Machine Learning.