Schnelle Fibonacci-Rekursion
Ich versuche mich an einen Algorithmus zur Fibonacci-Rekursion zu erinnern. Folgende:
public int fibonacci(int n) {
if(n == 0)
return 0;
else if(n == 1)
return 1;
else
return fibonacci(n - 1) + fibonacci(n - 2);
}
istnicht was ich suche, weil es gierig ist. Dies wird exponentiell wachsen (sieheJava-rekursive Fibonacci-Sequenz - Je größer das anfängliche Argument, desto mehr unnütze Anrufe werden getätigt.
Es gibt wahrscheinlich so etwas wie eine "zyklische Argumentverschiebung", bei der der Aufruf des vorherigen Fibonacci-Werts den Wert abruft, anstatt ihn erneut zu berechnen.