An Algorithmic Approach — A Review Of Grokking

Daniel Chang
Always Be Coding
Published in
3 min readApr 7, 2017

--

Where have I been? The last few months have been pretty chaotic with mostly a new job, a long drive, and a relocation. More of those later, but I’ve been sitting on a few blog posts so I figured I should get them out.

Example Image From Grokking

Algorithms

Anyone who has broached the field of computer science or gone into an engineering job interview understands what algorithms are, at least at a high level. I’ll be honest though, when I started on this adventure of learning to code I had a vague understanding that an algorithm was a group of steps to solve a problem. I actually had a good deal of experience with algorithms from my numerical analysis class during college.

However I never realized how deep and pretty well established the field was. I was recommended Grokking Algorithms as a primer.

Enter Stage Right

In all fairness, Grokking Algorithm is probably not the book for you if you have been following along this blog. You’re either more interest in implementation of tech or already have a solid understanding of these things. However on the off chance you are interested in a quick (and entertaining) survey of algorithms, I’d recommend this book.

Are You Not Entertained?

With any heavy material, it’s important for the presentation to be entertaining. Grokking succeeds at doing this through it’s visuals.

The visuals in Grokking Algorithm are very comic like and help supplement the text that is used to explain concepts. I was a fan of the style that the author used to explain concepts, and it made the overall process of going through the book pretty fun.

Are You Not Learning?

Being entertained is nice, but I think we are all here to learn stuff. As mentioned earlier, this book is more of a survey of popular algorithms. You will learn about common algorithms and some of the more famous ones. You’ll get to have a quick survey of Breadth First Search, Greedy Algorithms, Dijkstra’s Algorithm, Sorting, and Dynamic Programming among others.

What you don’t get is an in depth analysis of these different algorithms. You will get to see how they work and a little bit of why, but not in great depth. More importantly, you are not shown how to derive your own algorithm from these algorithms.

You are also not learning to code. There are coding examples, but this book pretty much assumes you are able to code if you want to look at code. With that said, you don’t need to know how to code to enjoy this book. It’s actually more interesting when you don’t worry about the coding implementations, but there are some examples in Python.

If you don’t like Python, don’t fear. There is a repo on github that has the examples in the book presented in many other languages. If you don’t see your preferred language, it’s probably a good pull request to submit.

In Conclusion

In my opinion, this was a really good survey/intro to algorithms. This is a great book if you are relatively new to algorithms, and unsure how far down the path you want to go. If you have experience with algorithms or are committed to going deep in the paint, there are probably better books.

Had fun reading this? Found it useful? Recommend or share on Facebook/Twitter! Check out more posts on Always Be Coding.

--

--

Code monkey always looking to learn more, avid car enthusiast celebrating #WRXmas all year long, amateur chef, professional eater.