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.

R Function Recursion

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:

  1. Base case → stops recursion

  2. 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

n! = n × (n−1)!
0! = 1

R Code


 

Output

120

4️⃣ How Recursion Works (Step-by-Step)

Calling:

factorial_fun(3)

Execution:

3 * factorial_fun(2)
2 * factorial_fun(1)
1 * factorial_fun(0)

Stops at base case → results return back up the stack.


5️⃣ Fibonacci Series Using Recursion ⭐

Fibonacci Formula

F(n) = F(n−1) + F(n−2)
F(0) = 0 , F(1) = 1

R Code


 

Output

8

6️⃣ Recursion with User Input ⭐


 

Output

15

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

  1. What is recursion in R?

  2. What is a base case?

  3. Write factorial using recursion.

  4. Difference between recursion and loop?

  5. What happens if base case is missing?

  6. 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

You may also like...