Intern
Шта је рекурзија?
sobes.tech АИ
Одговор од АИ
Funkcija koja se poziva sama.
Koristi se za rešavanje problema koji se mogu podeliti na podprobleme sa istom strukturom kao i originalni problem. Obavezno mora postojati uslov izlaska (baza slučaja) da bi se izbegla beskonačna petlja.
Primer računanja faktoriala:
<?php
function factorial(int $n): int
{
// Baza slučaja
if ($n <= 1) {
return 1;
}
// Rekurzivni poziv
return $n * factorial($n - 1);
}
echo factorial(5); // Ispisaće 120
?>
Prednosti:
- Elegantan i koncizan kod za određene probleme.
Nedostaci:
- Može dovesti do prelivanja steka kod prevelikog nivoa rekurzije.
- Potencijalno manje efikasno od iterativnih rešenja za iste probleme zbog dodatnih troškova poziva funkcija.
Često se koristi za obilazak stabala, fajl sistema, rešavanje kombinatoričkih problema.