Navigation

What is Recursion? What is Iteration? Comparison: Factorial Calculation Comparison: Fibonacci Calculation Key Differences

Recursive vs Iterative Approaches

1. What is Recursion?

Recursion is a method where a function calls itself to solve a problem. It breaks the problem into smaller sub-problems until reaching a base case.


2. What is Iteration?

Iteration uses loops (e.g., for, while) to repeatedly execute a block of code until a condition is met.


3. Comparison: Factorial Calculation

Recursive Implementation

def factorial_recursive(n): if n == 0 or n == 1: return 1 # Base case else: return n * factorial_recursive(n - 1) # Recursive case # main print(factorial_recursive(5)) # Output: 120 --------------------------------------- 120

Iterative Implementation

def factorial_iterative(n): result = 1 for i in range(1, n + 1): result *= i return result # main print(factorial_iterative(5)) # Output: 120 --------------------------------------- 120

4. Comparison: Fibonacci Calculation

Recursive Implementation

def fibonacci_recursive(n): if n == 0: return 0 elif n == 1: return 1 else: return fibonacci_recursive(n - 1) + fibonacci_recursive(n - 2) # main print(fibonacci_recursive(6)) # Output: 8 --------------------------------------- 8

Iterative Implementation

def fibonacci_iterative(n): if n == 0: return 0 elif n == 1: return 1 a, b = 0, 1 for _ in range(2, n + 1): a, b = b, a + b return b # main print(fibonacci_iterative(6)) # Output: 8 --------------------------------------- 8

5. Key Differences