Recursion
A function that calls itself. Every recursive function needs:
- A base case that stops recursion
- A recursive case that moves toward the base
Use recursion for problems naturally structured as smaller sub-problems (trees, nested data, math sequences).