R Function Recursion
🔁 R Function Recursion (Beginner → Advanced)
Recursion in R means a function calls itself to solve a problem by breaking it into smaller sub-problems.
It is commonly used in mathematics, algorithms, tree structures, and problem solving.
1️⃣ What is Recursion?
A recursive function is a function that calls itself until a specific condition is met.
Every recursive function has two parts:
-
Base case → stops recursion
-
Recursive case → function calls itself
2️⃣ Why Use Recursion?
✔ Solves complex problems easily
✔ Cleaner logic for repetitive tasks
✔ Used in factorial, Fibonacci, tree traversal
⚠️ May use more memory than loops
3️⃣ Basic Recursion Example (Factorial) ⭐
Factorial Formula
R Code
Output
4️⃣ How Recursion Works (Step-by-Step)
Calling:
Execution:
Stops at base case → results return back up the stack.
5️⃣ Fibonacci Series Using Recursion ⭐
Fibonacci Formula
R Code
Output
6️⃣ Recursion with User Input ⭐
Output
7️⃣ Infinite Recursion ❌ (Common Mistake)
❌ No base case
❌ Causes stack overflow error
8️⃣ Recursion vs Loop 🔄
| Feature | Recursion | Loop |
|---|---|---|
| Code clarity | High | Medium |
| Memory usage | More | Less |
| Speed | Slower | Faster |
| Risk | Stack overflow | Low |
✔ Use recursion for conceptual clarity
✔ Use loops for performance
9️⃣ Tail Recursion (Advanced) ⭐⭐
Tail recursion means the recursive call is the last operation.
✔ More efficient
⚠️ R does not fully optimize tail recursion
🔟 When to Avoid Recursion ❌
-
Very large inputs
-
Performance-critical code
-
Simple repetitive tasks (use loops)
1️⃣1️⃣ Common Mistakes ❌
❌ Missing base case
❌ Wrong stopping condition
❌ Infinite recursion
❌ Using recursion when loop is simpler
📌 Interview / Exam Questions
-
What is recursion in R?
-
What is a base case?
-
Write factorial using recursion.
-
Difference between recursion and loop?
-
What happens if base case is missing?
-
What is tail recursion?
🔥 Real-Life Use Cases
-
Mathematical computations
-
Tree & hierarchical data
-
Divide-and-conquer algorithms
-
Parsing expressions
-
Data structures
✅ Summary
✔ Recursion = function calling itself
✔ Always needs a base case
✔ Useful for factorial, Fibonacci, trees
✔ Risk of stack overflow
✔ Loops are faster, recursion is clearer
✔ Important for exams & interviews

