我想回想一個關於斐波那契遞歸的算法。以下:快速斐波那契遞推
public int fibonacci(int n) {
if(n == 0)
return 0;
else if(n == 1)
return 1;
else
return fibonacci(n - 1) + fibonacci(n - 2);
}
是不我要找的,因爲它是貪婪的。這將會成倍增長(只要看看Java recursive Fibonacci sequence - 初始參數越大,無用的呼叫就會越多)。
有可能是像「循環參數移位」,其中調用以前的斐波那契值將檢索值,而不是再次計算它。
這正是我所尋找的。我不知道它的英文叫做「尾遞歸」。非常感謝,夥計! – ducin
或者你可以將它作爲一個循環放在第一位,doh! –
@TylerDurden:問題是關於快速遞歸。 – duedl0r