Step-by-step procedures that transform inputs into answers.
Adjacent swaps bubble the largest to the end.
Repeatedly pick the minimum, place it at the front.
Build a sorted region one card at a time.
Divide in half, sort, merge. Guaranteed O(n log n).
Partition around a pivot, recurse on each side.
Check each element until you find the target.
Halve the search space every step. O(log n).
Explore level by level with a queue.
Plunge down one path before backtracking.
Greedy shortest paths with a priority queue.
Two indices converging or chasing through data.
A moving range that grows and shrinks in O(n).
Functions that call themselves, one frame at a time.
Try, fail, undo, try again — search a decision tree.
Solve once, remember, reuse. Overlapping subproblems.