Sobes.tech
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.