HN Books @HNBooksMonth

The best books of Hacker News.

Hacker News Comments on
Grokking Algorithms: An Illustrated Guide for Programmers and Other Curious People

Aditya Bhargava · 6 HN comments
HN Books has aggregated all Hacker News stories and comments that mention "Grokking Algorithms: An Illustrated Guide for Programmers and Other Curious People" by Aditya Bhargava.
View on Amazon [↗]
HN Books may receive an affiliate commission when you make purchases on sites after clicking through links on this page.
Amazon Summary
Summary Grokking Algorithms is a fully illustrated, friendly guide that teaches you how to apply common algorithms to the practical problems you face every day as a programmer. You'll start with sorting and searching and, as you build up your skills in thinking algorithmically, you'll tackle more complex concerns such as data compression and artificial intelligence. Each carefully presented example includes helpful diagrams and fully annotated code samples in Python. Learning about algorithms doesn't have to be boring! Get a sneak peek at the fun, illustrated, and friendly examples you'll find in Grokking Algorithms on Manning Publications' YouTube channel. Continue your journey into the world of algorithms with Algorithms in Motion, a practical, hands-on video course available exclusively at (‚Äčin-motion). Purchase of the print book includes a free eBook in PDF, Kindle, and ePub formats from Manning Publications. About the Technology An algorithm is nothing more than a step-by-step procedure for solving a problem. The algorithms you'll use most often as a programmer have already been discovered, tested, and proven. If you want to understand them but refuse to slog through dense multipage proofs, this is the book for you. This fully illustrated and engaging guide makes it easy to learn how to use the most important algorithms effectively in your own programs. About the Book Grokking Algorithms is a friendly take on this core computer science topic. In it, you'll learn how to apply common algorithms to the practical programming problems you face every day. You'll start with tasks like sorting and searching. As you build up your skills, you'll tackle more complex problems like data compression and artificial intelligence. Each carefully presented example includes helpful diagrams and fully annotated code samples in Python. By the end of this book, you will have mastered widely applicable algorithms as well as how and when to use them. What's Inside Covers search, sort, and graph algorithms Over 400 pictures with detailed walkthroughs Performance trade-offs between algorithms Python-based code samples About the Reader This easy-to-read, picture-heavy introduction is suitable for self-taught programmers, engineers, or anyone who wants to brush up on algorithms. About the Author Aditya Bhargava is a Software Engineer with a dual background in Computer Science and Fine Arts. He blogs on programming at Table of Contents Introduction to algorithms Selection sort Recursion Quicksort Hash tables Breadth-first search Dijkstra's algorithm Greedy algorithms Dynamic programming K-nearest neighbors.
HN Books Rankings

Hacker News Stories and Comments

All the comments and stories posted to Hacker News that reference this book.
Great recommendation. Just a good book all around. The illustrations make subject matter accessible to many.
I don't see myself coloring the pages in; primarily as I wouldn't want to use up any resources. Granted, I'm a 30+ PhD student, so I might not be the targeted market. The only things I have of differing colors are dry erase markers.

For a (much) younger audience, I could see the teacher buying this, but in that breath, they are always looking to not spend a lot (or any) money on supplies, so a $30-40 coloring book for something that they could find a free alternative online isn't worthwhile. But, $1-5 per concept might be worthwhile.

I do, however, love the visualization of your coloring of the page. This could work via writing the book in a visualized "worked example" format, which is how I worked through the data structures course I taught over the summer.

In that light, I can see it being very similar to something like Grokking Algorithms [1], which I did buy because I enjoyed the idea of visualizing the algorithms (for my students and my own edification).

Final note if you went that route is be mindful of colorblind customers and look to include something like a pattern difference as well (maybe angle of coloring the block?).

Overall, I love the idea; my research focus in effective means of conveying concepts to students, so I'd love to stay informed as you work through it and might be tempted to use whatever you tricks you provide as additional exercises when I teach again.


Thanks a lot for the input. It's super useful to hear a different perspective on the idea. I have no clue how much something like this should cost and will probably wait until it's closer to finished before deciding.

I think your idea about providing colored examples is good and have heard it from a few people now so that's definitely worth looking into.

Also I am red green colorblind so thanks for keeping people like me in mind! I'll have to remember to stay mindful of that.


Not problem! In my first programming class years ago, I made an assignment about probability with colored cards; one of my students told me he had to cheat because he was colorblind and since then I've done my best to think about those aspects.

Plus a good friend of mine has written numerous books on educational materials for deaf child, so whenever I talk about CS education, she reminds me to keep these types of disabilities in mind whenever I design new material

> I think your idea about providing colored examples is good and have heard it from a few people now so that's definitely worth looking into

It's something I don't think we have a lot of in CS education currently; a current platform I'm building is solely to provide almost a dozen types of exercises (fill in the blank, explain the code, hell even typing exercises) to give students the practice (I feel) they miss out on.

Coming from a martial art background, any technique we learn, we get to drill more than once and we aren't expected to beat MMA fighters after 1 lesson. I view the brain like any other muscle, in that with practice, you get better. My job as an instructor is to make sure you stay motivated and don't learn the wrong way.

You're so right with the analogy to physical training. Practice makes perfect. Also, I don't think its any coincidence that trainers of professional athletes often vary up their regimens with mental exercises. I think both types of people should diversify their training.

Could you expand on what you mean by "make sure you... don't learn the wrong way"? If you'd rather email me, I'm at levi -at-


Seconding the the notion that your colored-in example is a fantastic addition and should be included. I had thought of this in terms of The Anatomy Coloring Book where the coloring is mostly a way to engage with the visual material in a physical way, which aids recall. But your specific coloring actually highlights the algorithm in an effective way, making it more clear - and I can see that a teacher might be able to quickly glance at a student coloring and see that they did not grasp the concept (by, say, using a distinct color for each block number throughout, showing no progress through the algorithm). Your annotations are excellent as well, and the whole thing serves as a great model of how such a book should be used. Great stuff.
Wow, thanks for the praise! I hadn't heard of The Anatomy Coloring Book before and it looks/sounds a lot like what I have in mind for this book. Thanks a lot for mentioning it. Also, I think you nailed it with "the coloring is mostly a way to engage with the visual material in a physical way, which aids recall."

If you have any suggestions for improvements or content feel to let me know. And I'm always looking for "beta" testers of the book =)

Nov 04, 2016 · prakashk on Advanced Data Structures
Take a look at the recently released "Grokking Algorithms" [1] by Bhargava. Uses Python for code examples. I haven't read it personally, but has good reviews on Amazon [2].

Thank you.
Hey! If anyone's interested in an intro to algorithms, I'd like to pitch my book Grokking Algorithms[1]. It is an illustrated guide with a focus on being easy to read. I've gotten a lot of comments about how easy it is [2] [3] [4].

Sample chapter here [5].






Purchased your book in a show of support of your work (your HN username made me smile a little too).
Thank you!
This is very interesting. I will look into. Going to start the Stanford algorithms course on Course in 1-2 weeks and I think this might be a help to me.

UPDATE: What's with Manning, if you don't mind me asking? I can buy dead tree and all digital media included from Amazon at 33.00 and change, but for 34.00 and change from Manning direct I don't get the paper copy? I live abroad so shipping would screw me. Haha.

Just an FYI, Manning has a code the past two days for 50% off all books, and they will often have 35-50% off single books at anyone time. Their shipping is also expensive for a single item, but free for three. But yes, otherwise it's very expensive. $45 for a 200 page picture book on algorithms is a bit steep.
Correct, Manning frequently does "deal of the day". I will tweet the next time it happens for my book (@_egonschiele). I don't set the prices (obviously). The book is also available through Safari books online, and US-based folks can request it at their library also.
Got it on safari. Loving the book so far.
Oh really? I have access to Safari. Thanks.

Still though, I think later this week I will buy a copy. I like your blog too, and after years of intro level courses of different types (currently watched my eyes water over when redoing insertion sort in Scala with Odersky in his Scala class in Coursera doing pattern matching and functional decomposition), perhaps all I really need is a picture book.

Out of curiosity, as a busy (what seems to be from your blog and GH profile) Etsy engineer, how did you get into writing such books?

I am very newbish but I love the quality content coming out of non-traditional non-academics on better CS instruction. What makes you tick, egonschiele?

Thanks, that's very nice of you to say. I wrote the book because I didn't find an easy-to-read book on algorithms, and it took me a long time to learn. I think teaching hard concepts in a clear way is very important, so that's what I try to do with my book and blog.
Tell me about it. I think picture books for programming. Animated turtles all the way down!
May 19, 2016 · egonschiele on Bootcamps vs. College
Hey, I wrote an algorithms book aimed at bootcampers! The epub is out today, print book to follow:

I'm hoping this will be an easy to read algorithms book for bootcamp grads. Here's a sample chapter for anyone interested:

I bought the book on Amazon, is there a way to get the .epub before it ships?
You should get a download link from Manning in your email, let me know if you dont!
I haven't seen anything yet. Do I have to register the book after it ships?
What is your email? I'll have Manning check on the order.
Just bought it today, can't wait for the dead-tree version to get here. Looks pretty interesting.

BTW, Manning was running a promotion on their mailing list for a 50% discount today.

Donald Knuth is actually a great writer and teacher. Try Concrete Mathematics instead of TAOCP, it is a shorter and easier introduction:

It is humorous and it includes notes from past students in the margin. I really enjoyed it.

Shameless plug: I wrote an illustrated book on algorithms that aims to be an easier read than TAOCP, CLRS and others:

Not available yet.
The first chapter is here:

(not the final formatting)

I prefer the Sedgewick illustrations. Yours are targetting kids and is too verbose.
HN Books is an independent project and is not operated by Y Combinator or
~ [email protected]
;laksdfhjdhksalkfj more things ~ Privacy Policy ~
Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.