Una funzione che si chiama è nota come funzione ricorsiva. E, questa tecnica è conosciuta come ricorsione.
Come funziona la ricorsione?
void recurse(){ ... .. ... recurse(); ... .. ...}int main(){ ... .. ... recurse(); ... .. ...}
La ricorsione continua fino a quando una condizione è soddisfatta per impedirlo.
Per prevenire la ricorsione infinita, se…l’istruzione else (o un approccio simile) può essere utilizzata dove un ramo effettua la chiamata ricorsiva e altri no.,
Esempio: Somma di numeri naturali usando la ricorsione
Output
Enter a positive integer:3sum = 6
Inizialmente, la funzionesum()
viene chiamata dalla funzionemain()
con il numero passato come argomento.
Supponiamo che il valore di n all’interno di sum()
sia inizialmente 3. Durante la chiamata di funzione successiva, 2 viene passato alla funzionesum()
. Questo processo continua fino a quando n è uguale a 0.,
Quando n è uguale a 0, la condizione if
fallisce e la parte else
viene eseguita restituendo la somma di interi alla funzione main()
.
Vantaggi e svantaggi della ricorsione
La ricorsione rende il programma elegante. Tuttavia, se le prestazioni sono vitali, utilizzare invece i loop poiché la ricorsione è solitamente molto più lenta.
Detto questo, la ricorsione è un concetto importante. Viene spesso utilizzato nella struttura dei dati e negli algoritmi., Ad esempio, è comune utilizzare la ricorsione in problemi come l’attraversamento degli alberi.