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

Exercises

There are massive sets of programming competition problems out there, like the excellent Methods to Solve page by Steven Halim. Below, I’ve collected a few problems that I recommend if you’d like practice with the book material. My advice is to read the relevant chapter and work through the problems in the book, then practice with some of the below problems to solidify your understanding.

I’ve chosen problems from some judges that we don’t use in the book, so you might need to make some new judge accounts if you haven’t used those judges yet.

I’m always looking for more problems to help people practice and learn. If you have a favourite problem, please let me know! Thank you in advance.

Have fun!

Chapter 1 (Hash Tables)

Chapter 2 (Trees and Recursion)

Chapter 3 (Memoization and Dynamic Programming)

Chapter 4 (Graphs and Breadth-First Search)

Chapter 5 (Shortest Paths in Weighted Graphs)

Chapter 6 (Binary Search)

Chapter 7 (Heaps and Segment Trees)

Also still looking for more. (If you have a great one, please let me know!)

Chapter 8 (Union-Find)

Also still looking for more. (If you have a great one, please let me know!)