C# Languagericorsione


Osservazioni

Si noti che l'utilizzo della ricorsione può avere un impatto grave sul codice, poiché ogni chiamata di funzione ricorsiva verrà aggiunta allo stack. Se ci sono troppe chiamate questo potrebbe portare a un'eccezione StackOverflow . La maggior parte delle "funzioni ricorsive naturali" possono essere scritti come for , while o foreach costrutto di ciclo, e pur non guardare in modo elegante o intelligente sarà più efficiente.

Pensaci sempre due volte e usa ricorsione con attenzione - sappi perché lo usi:

  • la ricorsione dovrebbe essere usata quando si sa che il numero di chiamate ricorsive non è eccessivo
    • mezzi eccessivi , dipende da quanta memoria è disponibile
  • la ricorsione viene utilizzata perché è una versione del codice più chiara e più pulita, è più leggibile di una funzione iterativa o basata su loop. Spesso questo è il caso perché dà un codice più pulito e più compatto (ovvero meno linee di codice).
    • ma attenzione, può essere meno efficiente! Ad esempio nella ricorsione di Fibonacci, per calcolare l' ennesimo numero nella sequenza, il tempo di calcolo crescerà esponenzialmente!

Se vuoi più teoria, leggi:

ricorsione Esempi correlati