Algorithmic Thinking: A Problem-Based Introduction Homepage for the book Algorithmic Thinking: A Problem-Based Introduction

About Algorithmic Thinking

Write better, faster code. I wrote Algorithmic Thinking: A Problem-Based Introduction to teach algorithms and data structures in the context of solving programming competition problems.

Consistently a This Month’s Bestsellers No Starch Press book.

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

Demystify dynamic programming and use it to turbocharge your code.

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.

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: