Junior
What is the difference between recursion and iteration?
sobes.tech AI
Answer from AI
Recursion — a function calls itself. Iteration — a repetitive process using a loop.
| Feature | Recursion | Iteration |
|---|---|---|
| Mechanism | Calling the function itself | Using loops (for, while) |
| Memory | Uses call stack | Does not use call stack to the same extent |
| Readability | Can be more concise for some tasks | Can be less intuitive for recursive tasks |
| Performance | Can be slower and use more memory due to call overhead | Usually more efficient |
| Danger | Stack Overflow with deep nesting | Infinite loop with incorrect exit conditions |
Example of recursive factorial calculation:
def factorial_recursive(n):
if n == 0:
return 1
else:
return n * factorial_recursive(n - 1) # Recursive call
Example of iterative factorial calculation:
def factorial_iterative(n):
result = 1
for i in range(1, n + 1):
result *= i # Loop iteration
return result