soew's review

Go to review page

informative medium-paced

3.75

ll104duke's review

Go to review page

funny informative medium-paced

5.0

melz8bit's review

Go to review page

challenging informative fast-paced

4.0

forkdogforkfruit's review

Go to review page

challenging funny lighthearted slow-paced

4.5

ruthmoog's review

Go to review page

informative lighthearted fast-paced

4.75

> The author uses illustrations to explain the topics in the book. Did you find them helpful for your understanding?

Absolutely, the text did a good job of explaining them but the pictures helped me visualise ideas, avoid confusion and keep the book interesting.

> Has reading this book helped you to explain any of the algorithms or concepts to someone else?

I explained binary search to someone - but it's quite a simple concept so I think it is easy to explain and understand once you are aware of it.

> Were any of the topics or algorithms frustrating for you? Is there anything you still don't understand?

The exercises helped iron-out anything that I had not understood well. The most confusion I had was from a misprint!

> Have you used any of the algorithms in your coding (or another application!) after reading the book? How did the algorithm help you?

The typical data structures you see often in programming I use a lot. I did have a coding interview question that used optimisation with constraint problem, so I was able to be a bit more relaxed about answering the problem - but I didn't get through that interview so it can't have helped me much!

> Is there anything you'd misunderstood about the topics covered before reading the book, that was corrected or clarified in the book?

Most of the topics were new to me. I was confused about the 'Divide and Conquer' approach because I was familiar before with the strategic context (divide your enemy against each other to weaken then you can conquer them - eugh) as opposed to 'break it into bitesized chunks' or 'how to eat an elephant'.

> Do you have a favourite algorithm from the book? If so, why? What do you like about it?

Binary search! Because it's so commonly used and obvious!

> Is there anything you'll learn more about after reading this book?

Not really, I think this level of depth is enough for my needs, but I will go back to it for reference when it's topical.

> Would you recommend this book? Who would enjoy reading it?

Yes! Anyone who is interested in tech, including non-programmers. I think it's especially interesting for devs who did not study computer science. Also the topics and exercises are good to prep for technical interviews, without being too in-depth.

kreoniz's review

Go to review page

funny informative fast-paced

5.0

A quick review/recap of the main algorithms used in programming.

Expand filter menu Content Warnings

jhoover's review

Go to review page

4.0

Good if you have no knowledge of algos or CS. Besides that its pretty basic.

didiari's review

Go to review page

informative slow-paced

0.5

chlkvnck's review against another edition

Go to review page

informative medium-paced

henrik_w's review

Go to review page

4.0

Grokking Algorithms is a great introduction to algorithms for anybody new to programming. What makes the book stand out is its use of pictures to help explain how the algorithms work.
Several concepts that aren’t algorithms per se are also explained, for example arrays, linked lists, hash maps and call stacks. The book covers a broad range of algorithms, from basic ones, like binary search and sorting, to more advanced like graph algorithms and dynamic programming.
The implementations are given in Python. However, the emphasis is not on the code, but on explaining how the algorithms work. The true test to see if you have understood the content is to write your own implementations of the algorithms. Reading this book is a good first step to that understanding.