我是編程新手,我想弄清楚如何計算算法的大O.例如:計算大O
int selectkth(int a[], int k, int n){
int i, j, mini, temp;
for(i=0, i < k, i++){
mini = i;
for(j = i+1; j < n; j++)
if(a[j] < a[mini])
mini = j;
temp = a[i];
a[i] = a[mini];
a[mini] = temp;
}
return a[k-1];
}
我知道這裏有9個步驟發生,並且嵌套循環應該被放在一起。當我第一次嘗試時,我得到了O(n^2),但我不認爲這是正確的。有人可以解釋一下,如何以一種簡單的方式爲像我這樣的新手正確計算Big O?任何解釋都會幫助你或你自己的例子。謝謝:)
檢查我的答案抱歉,我把錯誤的評論 – 2014-10-07 06:19:35