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.