爲此算法計算運行時間嗎?算法的運行時間(大O))
Cost No Of Times
for(j=1;j<=n-1;j++){ c1 n(loop will run for n-1 times +1 for failed cond
for(i=0;i<=n-2;i++){ c2 n*(n-1) (n-1 from outer loop and n for inner
if(a[i]>a[i+1]){ c3 (n-1)*(n-1)
Swap c4 (n-1)*(n-1) {in worst case }
}
}
在最壞的情況下 T(N)= C1 * N + C2 *(N-1)N + C3(N-1)(N-1)+ C4 *(正1)(N-1) 這是O(n^2)
在最好的情況:
T(N)= C1 * N + C2 *(N-1)ñ + c3(n-1)(n-1) 這是O(n^2)。
但實際上在最好的情況下氣泡排序具有時間複雜度O(n)。 任何人都可以解釋嗎?
是的,其結果是'O(n^2)'這是您在這裏做的冒泡排序的代價......您可以通過使用搜索算法的名稱並進入第一個結果。 http://en.wikipedia.org/wiki/Bubble_sort –
我已檢查,但我有一個懷疑,得出這一點,這就是爲什麼我張貼。 –