Mental Model
Recursion breaks a big problem into smaller similar problems until it becomes simple enough to solve directly.
Analogy: Imagine peeling an onion layer by layer until you reach the center; each peel is like a smaller problem solved by recursion.
Array: [a, b, c, d, e] String: "hello" Recursion call stack: call5 ↑ call4 -> call5 call3 -> call4 call2 -> call3 call1 -> call2
