Algorithmic Thinking, 2nd Edition Homepage for the book Algorithmic Thinking, 2nd Edition

About Algorithmic Thinking

Write better, faster code. I wrote Algorithmic Thinking, 2nd Edition to teach algorithms and data structures in the context of solving programming competition problems.

The 2nd Edition is ready.

Learn how to use recursion and why you’d want to.

Demystify dynamic programming and use it to turbocharge your code. (NEW chapter on advanced dynamic programming tricks)

Learn all about graphs and how to use them to model and solve problems that seemingly have nothing to do with graphs.

What’s a data structure, anyway? You’ll find out! You’ll also learn about hash tables, heaps, segment trees, and union-find data structures, and when to use them to make your code super efficient.

Use random numbers to solve next-level algorithmic challenges. (NEW chapter)

No pseudocode. No math. I wrote this book for anyone who wants to become a better programmer, anyone who wants to improve their algorithmic thinking, anyone who wants to understand what makes code fast. I hope I can help you learn.

Ask your local bookshop, or buy online:

Here’s what expert algorithmists and programmers say about the book: