Rekurencja — co to jest i kiedy jej używać?

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ć:

  1. warunek stopu (base case)
  2. 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