Samy Ghannad

Review: Grokking Algorithms

Sometimes ago I was teaching my nephew about different search and sorting algorithms, Being a logical thinker himself, he was so fascinated about this new world.
He asked me to suggest some books he can read on the subject, but the de facto books like The Algorithm Design Manual or Introduction to Algorithms were too academic and serious for his age, so I searched for a substitute and found a gem: Grokking Algorithms

Grokking Algorithms has a easy going tone, it’s easy to read through the pages and the author, Aditya Y. Bhargava, Adit for short, does a great job explaining fundamentals as easy and casual as possible.
The repetition of concepts and main points are in a fashion that without raising the sense of being stuck stores the information in the long term memory.
The book has a fair share of illustrations that helps a lot in understanding different concepts and algorithms, End of chapter questions are easy without any special twist, so I guess it won’t make for a hardcore homework but does the job for both reviewing and checking accuracy of reader’s understanding.
The only downside bothering me is the spelling mistakes and grammatical errors, for example on page 73 it says:

When a customer buys produce, you have to look up the price in a book.

- Aditya Y. Bhargava

and it keeps occurring again & again, using produce instead of product.
Another example of technical inaccuracy is this sentence on page 85:

When you visit a page on Facebook, it first checks whether the page is stored in the hash.

- Aditya Y. Bhargava

The word hash is being used here as a substitute for hashtable, which is inaccurate and incorrect.
Although these minor mistakes makes me raise an eyebrow on overall qualification and correctness of a technical book, but I don’t think it would disqualify Grokking Algorithms as both enjoyable valuable learning experience at all. The book is a short read with less than 300 pages most of which are illustrations, so It may be read in less than a week or so by someone new to algorithms yet provides a solid knowledge of basics and popular algorithms for further readings.

Would I recommend it? Of course, It’s a very good read for both those who are new to algorithms and also may be used as a casual refresher.
Would I recommend it as a reference? guess not.
Overall, I rate Grokking Algorithms 8 out of 10, If you’re new to algorithms, definitely go for it, preferably even for your first read!
You may buy this book here . Errata for this book here .