Rekurencja to technika, w której funkcja wywołuje samą siebie.
📌 Przykład (PHP)
function factorial($n) {
if ($n === 0) {
return 1;
}
return $n * factorial($n - 1);
}👉 factorial(5) = 5 × 4 × 3 × 2 × 1
🔥 Kluczowe elementy
Każda rekurencja musi mieć:
- warunek stopu (base case)
- wywołanie samej siebie
Bez tego → nieskończona pętla 💀
⚠️ Kiedy NIE używać
- gdy można użyć prostej pętli
- przy dużych danych (stack overflow)
💡 Gdzie się przydaje
✔ drzewa (np. struktury katalogów)
✔ algorytmy (DFS, quicksort)
✔ parsowanie danych