Junior
Cos'è un comportamento ricorsivo?
sobes.tech AI
Risposta dell'AI
Esecuzione di codice o funzioni che si chiamano ricorsivamente.
Elementi principali:
- Caso base: La condizione in cui la ricorsione si ferma. Senza di essa, la ricorsione sarebbe infinita.
- Caso ricorsivo: La parte della funzione in cui si chiama se stessa, di solito con un argomento modificato.
Esempio (calcolo del fattoriale):
func factorial(_ n: Int) -> Int {
// Caso base
if n <= 1 {
return 1
}
// Caso ricorsivo
return n * factorial(n - 1)
}
// Esempio di chiamata
let result = factorial(5) // 120
Vantaggi:
- Soluzione elegante per problemi con struttura auto-simile (ad esempio, attraversamento di alberi).
- Codice più leggibile in alcuni casi.
Svantaggi:
- Può consumare molta memoria (pila di chiamate).
- Possibile overflow dello stack in ricorsioni troppo profonde.
- A volte meno efficiente di soluzioni iterative.