Algorithm Arcade
Fresh inputs, returning concepts. Every lesson stays open.
All lessons
First principles
Lesson 1: Pillars of problem solving
Meet the machine behind every algorithm.
Lesson 2: The cost of an algorithm
Count work. Build a recurrence. Look beyond one operation.
One partition makes two smaller promises.
Build the structure
Lesson 4: Binary search trees I
Build an ordering you can navigate.
Lesson 5: Binary search trees II
Traverse, validate, and delete without breaking order.
Lesson 6: Heaps & priority queues
Keep the next best choice at the root.
Explore the possibilities
Lesson 7: Backtracking I · Subsets
Turn recursion into a tree of decisions.
Lesson 8: Backtracking II · Arrangements
The same search engine, a different choice set.
Lesson 9: Backtracking III · Constraints
Spend less time in impossible futures.
Follow the connections
Lesson 10: Graph representations
One network, two ways to store it.
Recursion learns to handle cycles.
Lesson 12: Breadth-first search
Explore one distance layer at a time.
Remember & optimize
Lesson 13: Dynamic programming I · Careful brute force
A call returns a value; repeated questions can reuse that value.
Lesson 14: Dynamic programming II · Is it even DP?
Test a greedy claim; change max to counting on the same state.
Lesson 15: Greedy I · Safe choices
A local choice needs a global argument.
Lesson 16: Greedy II · Counterexamples
Know when a fast choice needs a rethink.
Lesson 17: Dynamic programming III · Values, not tasks
Turn the memo into a table and justify its fill order.
Lesson 18: Dynamic programming IV · The invisible parameter
Demonstrate why index alone is not enough, then define (i, remaining).
Lesson 19: Dynamic programming V · Two sequences, and getting the answer back
Define two suffix pointers, then recover an actual subsequence.
Lesson 20: Dynamic programming VI · Diagnosis and defence
Choose the state on unfamiliar problems before revealing the code.
Bring it all together
Lesson 21: Dijkstra’s shortest paths
BFS meets the priority queue.
Lesson 22: Topological sorting
Respect every dependency.
Lesson 23: Minimum spanning trees
Connect everything at the lowest total cost.
Lesson 24: The synthesis arena
Use the full toolkit. Defend the choices.