Sobes.tech
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.