Intern
Cos'è la ricorsione?
sobes.tech AI
Risposta dell'AI
Funzione che si richiama da sola.
Viene utilizzata per risolvere problemi che possono essere suddivisi in sottoproblemi con la stessa struttura del problema originale. È obbligatorio avere una condizione di uscita (caso base) per evitare un ciclo infinito.
Esempio di calcolo del fattoriale:
<?php
function factorial(int $n): int
{
// Caso base
if ($n <= 1) {
return 1;
}
// Chiamata ricorsiva
return $n * factorial($n - 1);
}
echo factorial(5); // Stampa 120
?>
Vantaggi:
- Eleganza e concisione del codice per alcuni problemi.
Svantaggi:
- Può portare a un overflow dello stack con livelli di ricorsione molto profondi.
- Potenzialmente meno efficiente rispetto a soluzioni iterative per gli stessi problemi a causa dei costi aggiuntivi delle chiamate di funzione.
Spesso viene usata per attraversare alberi, sistemi di file, risolvere problemi combinatori.