我做這個代碼..我需要得到最好的..我真的需要計算斐波那契數字的最佳性能..請幫助..有沒有比這個更好的方法(性能)計算斐波那契?
我讀過這種類型的代碼計算,我認爲我得到了他們最好的..
Avaliate這對我來說.. PLZ ..
PS:我真的需要的BigInteger ..我會計算數量巨大的斐波那契
ps2:我用這個算法計算了一些大數字,我得到了很好的響應時間..但是我需要知道是否它可能是更好的
PS3:運行此代碼,您需要使用這個VM參數-Xss16384k
(STACKSIZE)
public class Fibonacci {
private static BigInteger[] fibTmp = { BigInteger.valueOf(0), BigInteger.valueOf(1) };
public static BigInteger fibonacci(long v) {
BigInteger fib = BigInteger.valueOf(0);
if (v == 1) {
fib = BigInteger.valueOf(1);
} else if (v == 0) {
fib = BigInteger.valueOf(0);
} else {
BigInteger v1 = fibonacci(v - 1);
BigInteger v2 = fibTmp[(int) (v - 2)];
fib = v1.add(v2);
}
synchronized (fibTmp) {
if (fibTmp.length - 1 < v)
fibTmp = Arrays.copyOf(fibTmp, (int) (v + 10));
fibTmp[(int) v] = fib;
}
return fib;
}
}
這看起來像java。爲了獲得最佳表演,語言可能很重要。你可以添加一個語言標籤嗎? – 2013-02-26 15:57:23
不..忘了語言..是算法的表現..語言在這種情況下並不重要! =) – thiagoh 2013-02-26 15:58:20
正如你所願,但並非所有的語言都與深度遞歸相關...... – 2013-02-26 15:58:56