Sto cercando di richiamare un algoritmo sulla ricorsione di Fibonacci. Il seguente:Ricorsione Fast Fibonacci
public int fibonacci(int n) {
if(n == 0)
return 0;
else if(n == 1)
return 1;
else
return fibonacci(n - 1) + fibonacci(n - 2);
}
è non quello che sto cercando perché è avido. Crescerà in modo esponenziale (guardate allo Java recursive Fibonacci sequence - più grande è l'argomento iniziale, più chiamate inutili saranno fatte).
Probabilmente c'è qualcosa di simile a uno "spostamento di argomento ciclico", in cui chiamare il valore precedente di Fibonacci recupererà il valore invece di calcolarlo nuovamente.
Questo era esattamente quello che stavo cercando. Non sapevo che si chiamasse "ricorsione della coda" in inglese. Grazie mille, amico! – ducin
Oppure potresti semplicemente implementarlo come un loop in primo luogo, doh! –
@TylerDurden: la domanda riguarda la ricorsione veloce. – duedl0r