氣泡排序在最壞的情況下的比較次數為什麼是n n

2021-07-12 17:30:35 字數 1156 閱讀 6429

1樓:愛我淘氣

氣泡排序如1,2,3,4最好的情況是按完全升級排列,最壞就是數字完全按降序排列:

第一次是1:然後1和2,3,4;

第2次是2:比較誰比它小交換,於是2和34交換,答案是3421;

第3次為3:3和4;

最後是4321;這就是最壞情況下的次數3+2+1=6=4*3/2;

其實對於n個的話,你要求降低排列,但是偏偏都是升序的數字;最壞的情況就是如此:次數為:n-1+n-2......+1=n*(n-1)/2。

c語言氣泡排序法詳解

1、要想編出程式來,首先我們必須瞭解氣泡排序法的意思:比較相鄰的元素,如果第一個比第二個大,就交換他們兩個。對每一對相鄰元素進行同樣的操作,這樣,最後的元素應該會是最大的數。

排除最後一個數,針對所有的元素重複以上的步驟。持續每次對越來越少的元素重複上面的步驟,直到沒有任何一對數字需要比較。

2、瞭解之後就是**了。

3、有些朋友可能看不太懂,我來解釋下。我們定義了i,j,a[10],進入i的迴圈,把值存入a[i]裡。

4、存好資料後,進入下一個迴圈,判斷a[j-1]和a[j]的大小,因為i=0,所以這裡就是從a[0]開始判斷的,如果更大就交換位置。

5、最後就是輸出結果了,上一步已經排好位置了,我們只需要把排好的數列印出來就是了。

2樓:天天向上知識店鋪

因為氣泡排序時兩個一組進行比較,需要經過n/2遍的從前向後比較及n/2遍的從後向前比較,所以為n(n-1)/2

3樓:美心小可愛

請先弄清楚什麼情況是最壞情況

氣泡排序法在最壞的情況下的比較次數是n(n-1)/2,快速排序呢

4樓:麥玉枝那秋

氣泡排序如1,2,3,4最好的情況是按完全升級排列,最壞就是數字完全按降序排列:

第一次是1:然後1和2,3,4

第2次:2:比較誰比它小交換,於是2.和34交換,答案是3421第3次為3:3和4

交換機最後是4321;這就是最壞情況下的次數3+2+1=6=4*3/2;

其實對於n個的話,你要求降低

排列,但是偏偏都是升序的數字;最壞的情況就是如此:次數為:n-1+n-2

.........+1=n*(n-1)/2;好累哇哇

演算法在最壞情況,最好情況和平均情況下的計算複雜性概念及對三者

計算複雜性目前主要用計算所消耗的資源數量來量度。由於演算法在計算時所消耗的資源與問題規模有關,所以通常用遞增函式來估計。另外,對具體問題例項,演算法的資源消耗量是不同的,通常可以估計出最壞 最好和平均三種情形下對資源消耗的數量。對上述三者作時間複雜性分析的具體做法如下 以順序查詢為例,最壞情況是指需...

在基於排序碼比較的排序演算法中演算法的最壞情況下的

排序抄方法 最壞時間複雜度 bai 最好時間複雜du度 平均時間複雜度zhi 直接插入 o n2 o n o n2 簡單選擇 o n2 o n2 o n2 起泡排序dao o n2 o n o n2 快速排序 o n2 o nlog2n o nlog2n 堆排序 o nlog2n o nlog2n ...

快速排序演算法在平均情況下的時間複雜度為求詳解

時間複雜度為o nlogn n為元素個數 1.快速排序的三個步驟 1.1.找到序列中用於劃分序列的元素 1.2.用元素劃分序列 1.3.對劃分後的兩個序列重複1,2兩個步驟指導序列無法再劃分 所以對於n個元素其排序時間為 t n 2 t n 2 n 表示將長度為n的序列劃分為兩個子序列,每個子序列需...