Topic
Dynamic Programming
Turn exponential recursion into polynomial time by caching the answer to every subproblem the first time it's solved, so it's never recomputed.
Topic
Greedy Algorithms
Make the locally-best choice at every step, never reconsider it, and β for the specific class of problems where this provably reaches the global optimum β end up with the right answer in a single pass.
Topic
Dijkstra's Algorithm
Find the shortest distance from one start node to every other node in a weighted graph, by always finalizing the nearest unvisited node next and relaxing its edges.
Visualizer
Sorting Visualizer
Watch comparisons and swaps happen live. Switch algorithms, control speed, and step through manually.
Visualizer
Pathfinding Visualizer
See breadth-first search explore an unweighted maze grid, one queue pop at a time, until it finds the shortest (fewest-moves) path.
Visualizer
Binary Search Visualizer
Watch low, high, and mid pointers narrow in on a target β or prove it's absent β by halving a sorted array each step.