所以我有這個算法,我試圖確定算法分析問題的基本操作。這個給定算法的「基本操作」究竟是什麼
這裏是代碼:
median(int array[]){
int k = array.length();
int n = k/2;
for(int i = 0; i < k; i++){
int numsmaller = 0;
int numequal = 0;
for(int j = 0; j < k; k++){
if(array[j] < array[i]){
numsmaller++;
}else
if(array[j] == array[i]){
numequal++;
}
if(numsmaller < n && n <= (numsmaller + numequal){
return array[i]
}
}//inner loop
}//outter loop
}//end of function
我目前的印象是,這個算法的基本操作是兩個,如果函數的內環內的語句。 令我困惑的是,我不確定基本操作是否是每次迭代都會執行的布爾表達式本身,以檢查array [j] < array [i]以及array [j]是否等於array [i] 。或者,天氣的基本操作是當任何if語句爲真時發生的代碼執行。有人可以給我一個解釋固體中的算法分析方面該算法的基本操作會是什麼:)請和,不勝感謝
我認爲這是,當任何一個陳述是真實的 –