Recursão rápida de Fibonacci
Estou tentando lembrar um algoritmo na recursão de Fibonacci. Os seguintes:
public int fibonacci(int n) {
if(n == 0)
return 0;
else if(n == 1)
return 1;
else
return fibonacci(n - 1) + fibonacci(n - 2);
}
énão o que estou procurando porque é ganancioso. Isso vai crescer exponencialmente (basta olhar paraSequência recursiva de Fibonacci em Java - quanto maior o argumento inicial, mais chamadas inúteis serão feitas.
Provavelmente há algo como um "deslocamento de argumento cíclico", em que chamar o valor de Fibonacci anterior recuperará o valor em vez de calculá-lo novamente.