Sobes.tech
Intern

Wat is recursie?

sobes.tech AI

Antwoord van AI

Functie die zichzelf aanroept.

Toegepast voor het oplossen van problemen die kunnen worden opgedeeld in subproblemen met dezelfde structuur als het oorspronkelijke probleem. Er moet een uitgangsvoorwaarde (basisgeval) zijn om een oneindige lus te voorkomen.

Voorbeeld van het berekenen van de faculteit:

<?php
function factorial(int $n): int
{
    // Basisgeval
    if ($n <= 1) {
        return 1;
    }
    // Recursieve oproep
    return $n * factorial($n - 1);
}

echo factorial(5); // Geeft 120
?>

Voordelen:

  • Elegantie en beknoptheid van de code voor bepaalde problemen.

Nadelen:

  • Kan leiden tot een stack overflow bij te diepe recursieniveaus.
  • Potentieel minder efficiënt dan iteratieve oplossingen voor dezelfde problemen vanwege de overhead van functieaanroepen.

Wordt vaak gebruikt voor het doorlopen van bomen, besturingssystemen, oplossen van combinatorische problemen.