“Know how to solve every problem that has been solved.” “What I cannot create, I do not understand.” — Richard Feynman

Algorithms & Data Structures

Courses

Sorting, graphs, dynamic programming, and the complexity to reason about them.

8 skills 0 questions ← whole tech tree

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
Bubble Sort

Swap adjacent pairs until the array is sorted.

content coming soon
deep dive ↓Bubble Sort
Binary Search

Halve the search space on sorted data, O(log n).

content coming soon
deep dive ↓Binary Search
Merge Sort

Divide, conquer, merge: O(n log n) sorting.

content coming soon
deep dive ↓Merge Sort
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
Dijkstra's Algorithm

Shortest paths in weighted graphs via greedy frontier.

content coming soon
Edit Distance

Dynamic programming over string transformations.

content coming soon
deep dive ↓Edit Distance