我有一個關於Java軟件的時間複雜度(大O表示法)的問題。有沒有辦法快速計算或測試它(或任何可以爲我計算的網站都會受到歡迎)。例如,我想檢查它的下面的代碼片斷,並可能提高,以及:用於計算Java代碼的大O時間複雜度的工具?
int dcount = 24423567;
int a = 0;
if (dcount == 0){
a = 1;
}
String ds = Integer.toString(dcount);
String[] sa = ds.split("(?<=.)");
HashSet hs = new HashSet();
Collections.addAll(hs, sa);
a = hs.size();
if (dcount < 0)
a--;
System.out.println(a);
「時間複雜度」通常意味着最壞情況下的時間複雜度。這個問題已被證明是不可能的。 – emory 2012-03-31 18:34:59
我的意思是(大O)複雜性。也將編輯帖子。 – aretai 2012-03-31 18:38:54
如果你想計算一個數字中不同的數字,那麼這段代碼絕對不是時間和空間上的最佳解決方案。 – 2012-03-31 18:46:59