Recursion is a method of solving a computational problem where the solution depends on solutions to smaller instances of the same problem.
Call Stack - A LIFO (Last In First Out) data structure that manages function calls in a program.
A runtime error that occurs when the call stack exceeds its allocated memory limit.
- Infinite recursion (no base case)
- Base case never reached
- Too many recursive calls (e.g., n = 1,000,000)