我在java中有兩種方法(例如因子計算),我必須測試這兩種方法來找出哪一種更快。我的代碼爲遞歸和循環:如何比較Java中的2方法?
它們都在相同的Class數據中。
public long FakultaetRekursiv(int n){
if(n == 1){
return 1;
}
else{
return FakultaetRekursiv(n-1) * n;
}
}
public long Fakultaet(int n){
int x=1;
for(int i=1; i<=n; i++){
x= x*i;
}
return x;
}
我聽說currentTimeMillis()可以幫助一點,但我不知道如何做到完全。 謝謝。
您應該通過在數組中存儲所有可能值的數組中查找結果來實現它。這非常確定* Fakultaet *的最快實施。 – MrSmith42
這些方法都不會運行足夠長的時間來進行優化或重要。 –
你應該改變你的遞歸實現來檢查'n == 0'而不是'n == 1',因爲* 0! == 1 *的定義。也許拋出一個例外負n值。 – MrSmith42