Intern
Cos'è la ricorsione?
sobes.tech AI
Risposta dell'AI
La ricorsione è il processo in cui una funzione si chiama se stessa. In programmazione, una funzione ricorsiva è una funzione che si chiama direttamente o indirettamente. Per evitare un ciclo infinito, la funzione ricorsiva deve avere un caso base, che è il momento in cui smette di chiamarsi.
Esempi di utilizzo:
- Traversare strutture dati (ad esempio, alberi).
- Risolvere problemi che possono essere suddivisi in sotto-problemi più piccoli dello stesso tipo (ad esempio, calcolo del fattoriale).
Esempio di calcolo del fattoriale usando la ricorsione:
def factorial(n):
# Caso base: il fattoriale di 0 è 1
if n == 0:
return 1
# Caso ricorsivo: il fattoriale di n = n * fattoriale di (n-1)
else:
return n * factorial(n - 1)
# Esempio di utilizzo
result = factorial(5)
# result sarà 120
Svantaggi della ricorsione:
- Può consumare molta memoria a causa dello stack di chiamate.
- Può essere meno efficiente rispetto a soluzioni iterative per alcuni problemi.
- Può portare a overflow dello stack in chiamate ricorsive profonde.