Generate Fibonacci using recursion and loop
๐ก Concept: Fibonacci Series Generation
Fibonacci series is a sequence where each number is the sum of the two preceding ones.
๐ Quick Intro
Learn to generate Fibonacci numbers using both recursive calls and iterative loops.
๐ง Analogy
Like building stairs where each step depends on the previous two.
๐ง Technical Explanation
- Recursive method calls itself with base cases.
- Iterative method uses loops and accumulators.
- Recursion is elegant but may have performance overhead.
- Iteration is generally more efficient.
- Both methods generate the same sequence.
๐ฏ Use Cases
- โ Algorithm practice.
- โ Learning recursion.
- โ Mathematical computations.
- โ Coding interviews.
๐ป Code Example
// Recursive Fibonacci
public static int FibRecursive(int n) {
if (n <= 1) return n;
return FibRecursive(n - 1) + FibRecursive(n - 2);
}
// Iterative Fibonacci
public static int[] FibIterative(int n) {
int[] fib = new int[n];
if (n > 0) fib[0] = 0;
if (n > 1) fib[1] = 1;
for (int i = 2; i < n; i++) {
fib[i] = fib[i - 1] + fib[i - 2];
}
return fib;
}

โ Interview Q&A
Q1: What is the base case in recursive Fibonacci?
A: n <= 1 returns n.
Q2: Which method is more efficient?
A: Iterative.
Q3: Can recursion cause stack overflow?
A: Yes, for large n.
Q4: What is the time complexity of recursive Fibonacci?
A: Exponential.
Q5: What about iterative time complexity?
A: O(n).
Q6: Can Fibonacci be optimized?
A: Using memoization.
Q7: Is iterative Fibonacci thread-safe?
A: Yes, if no shared state.
Q8: How to print Fibonacci?
A: Loop and print array.
Q9: Is Fibonacci series infinite?
A: Yes, conceptually.
Q10: Can Fibonacci be generated lazily?
A: Yes, using IEnumerable.
๐ MCQs
Q1. What is the base case in recursive Fibonacci?
- n == 0
- n <= 1
- n == 2
- No base case
Q2. Which method is more efficient?
- Recursive
- Iterative
- Both equal
- Depends
Q3. Can recursion cause stack overflow?
- No
- Yes
- Maybe
- Rarely
Q4. Time complexity of recursive Fibonacci?
- O(n)
- O(log n)
- Exponential
- O(1)
Q5. Time complexity of iterative Fibonacci?
- O(n)
- O(n^2)
- O(log n)
- O(1)
Q6. How to optimize recursive Fibonacci?
- Memoization
- Loop
- No optimization
- Recursion
Q7. Is iterative Fibonacci thread-safe?
- No
- Yes
- Depends
- Sometimes
Q8. How to print Fibonacci?
- Recursion
- Loop and print
- Debug
- Use print function
Q9. Is Fibonacci series infinite?
- No
- Yes
- Maybe
- Sometimes
Q10. Can Fibonacci be generated lazily?
- No
- Yes
- Maybe
- Rarely
๐ก Bonus Insight
Understanding both recursive and iterative methods deepens algorithmic thinking.
๐ PDF Download
Need a handy summary for your notes? Download this topic as a PDF!