Algorithms & Data Structures
Courses
Sorting, graphs, dynamic programming, and the complexity to reason about them.
Content for this course is still being written. For now, explore the skill map below — every node links to its full page.
Skill map
Each node is a skill; an arrow means "learn this first." Deep-dive links go to the full pages.
Linear Search…
Scan an array element-by-element for a target.
content coming soon
deep dive ↓Linear Search
Binary Search…
Halve the search space on sorted data, O(log n).
content coming soon
deep dive ↓Binary Search
Depth-First Search…
Explore a graph deep before backtracking.
content coming soon
deep dive ↓Depth-First Search
Breadth-First Search…
Explore a graph layer-by-layer; shortest unweighted paths.
content coming soon
deep dive ↓Breadth-First Search
Dijkstra's Algorithm…
Shortest paths in weighted graphs via greedy frontier.
content coming soon
deep dive ↓Dijkstra's Algorithm
Edit Distance…
Dynamic programming over string transformations.
content coming soon
deep dive ↓Edit Distance