題組內容

四、下列 C 語言函數是氣泡排序演算法 

(一)請問其時間複雜度為何?(5 分)

詳解 (共 4 筆)

詳解 提供者:t73568
log(2^n)
詳解 提供者:hchungw

C語言函數實現的氣泡排序(Bubble Sort)演算法的時間複雜度為O(n²)。這是因為它包含兩個嵌套循環,其中外部循環運行n-1次,內部循環最多運行n次。在最壞的情況下(即數組是逆序的),每個元素都需要與其後面的每個元素比較並可能交換,因此需要執行n(n-1)/2次比較和交換操作。

詳解 提供者:緋村

void ourBubbleSort (int *iArray, int n) // 1 {for (i=0; iiArray[j]) // (n^2-n)*(n-1)/2 { int iTemp =iArray[i]; iArray[i] = iArray[j]; iArray[j] = iTemp; } }

總次數為 1 + n-1 + (n^2-n)*(n-1) => n^3 -2n^2 時間複雜度為 O(n^3)

詳解 提供者:Sung
平均時間:O(n^2)