Recursion = Function calling itself repeatedly, with a smaller input every time, until it reaches a base case.
📦 Imagine ek box ke andar doosra box hai, fir uske andar ek aur...
Last me ek empty box milega — wahi hai base case.
Ab tum boxes ko pehle andar jaake, fir wapis nikalte ho — yahi hai recursion.
void sayHello(int n){
if(n == 0) return; // base case
cout << "Hello\n";
sayHello(n - 1); // recursive call
}
int factorial(int n){
if(n == 0 || n == 1) return 1; // base case
return n * factorial(n - 1); // recursive step
}
👉 factorial(5):
5 * factorial(4)
4 * factorial(3)
3 * factorial(2)
2 * factorial(1)
1 → base case = return 1
| Part | Explanation |
|---|---|
| ✅ Base Case | Jahan recursion rukti hai (warna infinite call ho jaayegi) |
| 🔁 Recursive Case | Jahan function khud ko call karta hai |