Ben .. Bu kodu yapılmış Ve ben gerçektenBundan daha iyi bir yol (performans) fibonacci hesaplıyor mu?
Ben bu tip bazı kod okudum .. olmak lütfen yardım .. hesaplanması Fibonacci sayılarının en iyi performansı gerek .. Bunu en iyi almak gerekir hesaplama ve ben onlardan en iyisi olduğunu düşünüyorsun .. benim için
Avaliate bu .. plz ..ps: ve gerçekten ben muazzam sayıların Fibonacci'yi hesaplarız .. BigInteger ihtiyaç
ps2: Bu algoritma ile bazı büyük sayıları hesapladım ve harika bir yanıt zamanı aldım .. ama bilmem gerek Daha iyi
ps3 olabilir: Bu kod çalıştırmasına o yığın taşması yapar çünkü bu VM argüman -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;
}
}
Bu java gibi görünüyor. En iyi performanslar için, dil önemli olabilir. Bir dil etiketi ekleyebilir misiniz? –
hayır .. dili unutun .. algoritma performansı .. bu durumda dil önemli değil! =) – thiagoh
) sizin gibi ama bu değil tüm diller, sen yeterince büyük bir sayı olsun –