Spiegare a parole proprie la nozione di ricorsione confrontandola con quella di iterazione

Per ripetere una serie di istruzioni che però operano su valori diversi, si può scegliere la strada iterativa o la strada ricorsiva.
Ricorsione:  crea un loop richiamando se stessa più volte , per uscire dal loop tra le istruzioni ci dovrà essere un base case che detta le condizioni in base alle quali non viene più chiamata la funzione ma si esce.
Iterazione:  prevede all’interno della funzione l’uso di una singola struttura di loop contenente le istruzioni considerate.

L’esempio più semplice ed utilizzato per evidenziare le differenze tra questi due concetti è dato dalla funzione per il calcolo del fattoriale. 

metodo iterativo
Function fattorialeIterativo(N As Integer)
       Dim prodotto As Integer = 1
       For i = 2 To N
               prodotto = prodotto * i
       Next
       Return Prodotto
End Function
 
metodo ricorsivo
Function fattorialeRicorsivo(N As Integer)
       'base case
       If N = 1 Then Return 1
       'RECURSIVE CASE
       Return N*fattoriale(N-1)
End Function

Commenti

Post popolari in questo blog

Alcuni esempi di strategie di trading algoritmico utilizzate

Processi stocastici con mean reversion: Ornstein–Uhlenbeck process, Dixit & Pindyck Model, Vasicek model, etc

La formula di Legendre e la sua utilità nelle applicazioni