下列 C 語言函數是氣泡排序演算法
void ourBubbleSort (int *iArray, int n)
{ for (int i =0; i<n-1; i++)
for (int j = i+1; j<n; j++)
if (iArray[i]>iArray[j])
{ int iTemp = iArray[i]; iArray[i] = iArray[j]; iArray[j] = iTemp;}
}
答:
外層迴圈i從0~(n-2)共執行n-1次
內層迴圈j從i+1開始執行至n-1共n-1-(i+1)+1=n-i-1
即(n-1)+(n-2)+(n-3)…,+1
=(((n-1)+1)*(n-1))/2
總執行次數為O(n^2)
沒有留言:
張貼留言
寫下幸福點子吧!