Challenge - 5 Problems
Recursion vs Iteration Mastery
Get all challenges correct to earn this badge!
Test your skills under time pressure!
❓ Predict Output
intermediate2:00remaining
Output of Recursive vs Iterative Factorial
What is the output of the following C code snippet that calculates factorial using recursion and iteration?
DSA C
#include <stdio.h> int factorial_recursive(int n) { if (n <= 1) return 1; return n * factorial_recursive(n - 1); } int factorial_iterative(int n) { int result = 1; for (int i = 2; i <= n; i++) { result *= i; } return result; } int main() { int n = 5; printf("Recursive: %d\n", factorial_recursive(n)); printf("Iterative: %d\n", factorial_iterative(n)); return 0; }
Attempts:
2 left
💡 Hint
Recall that factorial of 5 is 5*4*3*2*1 = 120.
✗ Incorrect
Both recursive and iterative functions correctly compute factorial of 5 as 120.
🧠 Conceptual
intermediate1:30remaining
When is recursion preferred over iteration?
Which scenario best explains when recursion is preferred over iteration?
Attempts:
2 left
💡 Hint
Think about problems like tree traversals or divide and conquer.
✗ Incorrect
Recursion is best when a problem breaks down into smaller similar problems with a base case, like tree traversals or quicksort.
❓ Predict Output
advanced1:30remaining
Stack Overflow Risk in Recursion
What happens when the following recursive function is called with a large input like 100000?
DSA C
void recurse(int n) { if (n == 0) return; recurse(n - 1); } int main() { recurse(100000); return 0; }
Attempts:
2 left
💡 Hint
Consider how deep the recursion goes and stack size limits.
✗ Incorrect
Deep recursion like 100000 calls exceeds typical stack size, causing stack overflow and crash.
🧠 Conceptual
advanced1:30remaining
Iteration advantage over recursion
Why is iteration often preferred over recursion in some cases?
Attempts:
2 left
💡 Hint
Think about memory usage and function call overhead.
✗ Incorrect
Iteration uses a single loop and less memory, avoiding stack overflow and overhead of recursive calls.
🚀 Application
expert2:00remaining
Choosing recursion or iteration for tree traversal
Given a binary tree, which approach is generally better for inorder traversal and why?
Attempts:
2 left
💡 Hint
Think about how recursion matches the hierarchical nature of trees.
✗ Incorrect
Recursion fits tree traversal naturally by visiting left subtree, node, then right subtree with simple code.