Recursion DSA ka ek powerful concept hai jisme ek function khud ko hi call karta hai jab tak ek specific condition (base case) satisfy na ho jaye. Agar aap DSA roadmap for beginners follow kar rahe hain, to recursion samajhna bahut important hai kyunki ye advanced topics jaise trees, graphs aur dynamic programming me extensively use hota hai.
Beginners ke liye recursion thoda confusing ho sakta hai, lekin agar aap ise step-by-step samjhen aur examples ke saath practice karein, to ye kaafi easy lagne lagta hai. Is guide me hum recursion ko simple Hindi me explain karenge, taaki aap ise clearly samajh sakein.
Recursion ek programming technique hai jisme function khud ko call karta hai. Har recursive function ke do important parts hote hain:
Base Case – Ye condition recursion ko stop karti hai
Recursive Case – Jahan function khud ko call karta hai
Agar base case define nahi hoga to program infinite loop me chala jayega.
Recursion kya hota hai
Base case & recursive case
Call stack ka concept
Real-life example
C code examples
Practice questions
Recursion ko samajhne ka sabse easy tarika hai “kaam ko chhote parts me todna”.
Example:
Factorial of 5 = 5 × 4 × 3 × 2 × 1
Isko recursion se likha ja sakta hai:
👉 n! = n × (n-1)!
Yaha function baar-baar khud ko call karta hai jab tak n = 1 na ho jaye.
#include <stdio.h>
int factorial(int n) {
if (n == 0) // Base Case
return 1;
else
return n * factorial(n - 1); // Recursive Call
}
int main() {
int num = 5;
printf("Factorial = %d", factorial(num));
return 0;
}
#include <stdio.h>
int fibonacci(int n) {
if (n == 0)
return 0;
else if (n == 1)
return 1;
else
return fibonacci(n-1) + fibonacci(n-2);
}
int main() {
int n = 6;
printf("Fibonacci = %d", fibonacci(n));
return 0;
}
fact(5)
→ 5 × fact(4)
→ 5 × 4 × fact(3)
→ 5 × 4 × 3 × fact(2)
→ 5 × 4 × 3 × 2 × fact(1)
→ 5 × 4 × 3 × 2 × 1
👉 Final Answer: 120
Jab function directly khud ko call karta hai
Jab ek function dusre function ko call karta hai aur wo wapas pehle ko call karta hai
Jab recursive call last operation hota hai
Feature Recursion Iteration
Approach Function call Loop
Memory Zyada Kam
Code Short Long
👉 Beginners ke liye recursion samajhna important hai, lekin practical use me iteration bhi zaroori hai.
Recursion real-world programming me bahut use hota hai:
Factorial calculation
Fibonacci series
Tree traversal
Graph algorithms
Divide and conquer algorithms
👉 Ye sab advanced DSA topics ka base hai
Code short aur clean hota hai
Complex problems easy ban jati hain
Tree aur graph problems me useful
Memory zyada use karta hai (call stack)
Slow ho sakta hai
Infinite recursion ka risk
Factorial → O(n)
Fibonacci (simple recursion) → O(2^n)
👉 Optimization ke liye Dynamic Programming use hota hai
Base case define nahi karna
Infinite recursion create karna
Dry run na karna
👉 Solution: Har recursive function ka flow likhkar samjho
Simple problems se start karo
Dry run karo (paper pe)
Call stack visualize karo
Practice questions solve karo
Agar aap recursion seekh rahe hain to ye topics bhi zaroor padhein:
👉 Ye sab topics ek dusre se connected hain aur aapki DSA strong banate hain
Recursion ek powerful concept hai jo DSA me bahut important role play karta hai. Agar aap ise properly samajh lete hain to aap advanced topics ko bhi easily handle kar sakte hain.
Consistency aur practice ke saath recursion aapko difficult nahi lagega. Step-by-step approach follow karein aur har problem ko chhote parts me todkar solve karein.