Recall & Review
beginner
What is recursion in programming?
Recursion is when a function calls itself to solve smaller parts of a problem until it reaches a simple case it can solve directly.
Click to reveal answer
beginner
What is a base case in recursion?
A base case is the simplest situation in recursion where the function stops calling itself to avoid infinite loops.
Click to reveal answer
intermediate
How does the call stack work with recursion?
Each recursive call adds a new layer to the call stack. When a base case is reached, the stack starts to remove layers as functions finish and return results.
Click to reveal answer
intermediate
What happens if a recursive function has no base case?
Without a base case, the function keeps calling itself forever, causing a stack overflow error because the call stack grows too large.
Click to reveal answer
beginner
Explain the flow of a simple factorial function using recursion.
The factorial function calls itself with smaller numbers until it reaches 0 (base case). Then it multiplies the numbers as the calls return, building the final result.
Click to reveal answer
What is the purpose of the base case in a recursive function?
✗ Incorrect
The base case stops recursion by providing a simple condition where the function returns without calling itself again.
What happens to the call stack when a recursive function calls itself?
✗ Incorrect
Each recursive call adds a new frame to the call stack, storing the function's state until it returns.
Which of these is a correct base case for a factorial function?
✗ Incorrect
The factorial of 0 is defined as 1, which is the base case stopping recursion.
What error occurs if a recursive function never reaches a base case?
✗ Incorrect
Without a base case, recursion never stops, causing the call stack to overflow.
In recursion, what does 'unwinding the call stack' mean?
✗ Incorrect
Unwinding means the function returns from each recursive call, removing frames from the call stack.
Describe how recursion uses the call stack to solve problems step-by-step.
Think about how each call waits for the next before finishing.
You got /4 concepts.
Explain why a base case is essential in recursion and what happens if it is missing.
Consider what would happen if the function never stops calling itself.
You got /4 concepts.