Intern
Mis on rekursioon?
sobes.tech AI
Vastus AI-lt
Funktsioon, mis kutsub iseennast üles.
Kasutatakse probleemide lahendamiseks, mida saab jagada alamprobleemideks, millel on sama struktuur kui algsel probleemil. Vajalik on väljundtingimus (põhjuhtum), et vältida lõpmatut tsüklit.
Näide faktoriaali arvutamisest:
<?php
function factorial(int $n): int
{
// Põhjuhtum
if ($n <= 1) {
return 1;
}
// Rekursiivne kutsung
return $n * factorial($n - 1);
}
echo factorial(5); // Väljasta 120
?>
Eelised:
- Elegantne ja lühike kood teatud probleemide jaoks.
Miinused:
- Võib põhjustada virna ülevoogu väga sügava rekursiooni korral.
- Potentsiaalselt vähem tõhus kui iteratiivsed lahendused sama probleemi jaoks, funktsioonikutsumiste lisakulu tõttu.
Kasutatakse sageli puude läbimiseks, failisüsteemide navigeerimiseks, kombinatoorsete probleemide lahendamiseks.