Base case:The base case is the condition that stops the recursion by providing an immediate result without further recursive calls.
Recursive case: The recursive case is the part of the algorithm that calls itself to solve a smaller subproblem.
Stack overflow: A stack overflow occurs when there are too many recursive calls and the call stack exceeds its memory capacity, causing the program to crash.