Recursion

Recursion is when a function calls itself to solve a problem by breaking it into smaller sub-problems. It needs a base case to stop.