Intern
Kas ir rekursija?
sobes.tech AI
Atbilde no AI
Funkcija, kas izsauc pati sevi.
Tiek izmanto, lai risinātu uzdevumus, kurus var sadalīt apakšuzdevumos ar tādu pašu struktūru kā sākotnējais uzdevums. Ir obligāti jābūt izejas nosacījumam (pamatgadījumam), lai izvairītos no bezgalīgas cilpas.
Piemērs – faktoriāļa aprēķins:
<?php
function factorial(int $n): int
{
// Pamatgadījums
if ($n <= 1) {
return 1;
}
// Rekursīva izsaukšana
return $n * factorial($n - 1);
}
echo factorial(5); // Izvadīs 120
?>
Priekšrocības:
- Elegants un kods īss noteiktiem uzdevumiem.
Trūkumi:
- Var novest pie steka pārsprāgšanas ļoti dziļas rekursijas gadījumā.
- Potenciāli mazāk efektīvs nekā iteratīvi risinājumi tādiem pašiem uzdevumiem, ņemot vērā funkciju izsaukumu papildu izmaksas.
Bieži izmanto koku pārvietojumam, failu sistēmām, kombinatorikas uzdevumu risināšanai.