Data structures & algorithms, in Python.
Not a list of LeetCode answers. Each lesson shows the structure drawn, explains what every operation costs and why, implements it in clean Python, and then teaches the pattern — so you recognise it in a problem you have never seen. All code in this course is executed and tested; the outputs shown are real.
The one idea this course is built on
Choosing a data structure is choosing which operations are cheap. The same problem can take a millisecond or a day depending on that choice.
Pick a path
Coding interview in 2 weeks
Lessons 02, 03, 06, 09, 10, 13, 15, 17, 22, 24. The patterns behind most interview questions, in priority order.
I just want faster code
Lessons 02, 03, 05, 09, 11. Know what Python's built-ins cost and stop writing accidental O(n²).
Recursion and DP scare me
Lessons 04, 13, 20, 22, 23. Build intuition from the call stack up, one diagram at a time.
The full foundation
Go in order. Each lesson assumes the previous one, and the project uses nearly all of them.
Ships with a hands-on project
🛠 Build a route planner from scratch
A weighted road graph of 26 South Indian towns, Dijkstra and A* on your own binary heap, an LRU cache for repeated queries, trie-based autocomplete for place names and Kruskal to keep the map connected — all written by hand, and every piece tested against a slow reference (heapq, Floyd–Warshall, brute force).
Open the project →