演算法基礎之排序篇 氣泡排序

2021-06-08 06:43:06 字數 648 閱讀 2713

1、演算法描述
依次比較相鄰的數劇,將小的數排前面,大的排後面。

操作步驟

(1)、從第乙個元素開始,依次與後乙個數比較,小數放前,大數放後,結果是最大的放到了最後。

(2)、對前n-i個數重複(1),i從1至n-2,n為原序列大小。

2、圖例

3、**

public void sort(int data) 

} }

4、穩定性及複雜度
穩定性:氣泡排序是穩定的排序

平均時間複雜度:o(n^2)

原始的氣泡排序不管初始序列怎樣都需要經過n(n-1)/2次比較,如果序列為上公升序列,則交換次數為0,反之為下降序列則交換次數為n(n-1)/2次。通過使用標誌位來標誌上一次比較是否有交換發生,可以減少上公升序列的比較次數為n-1次。

空間複雜度:o(1)

//ps:變種的氣泡排序(區域性冒泡,雙向冒泡等)這裡就不一一 說了

演算法基礎之排序篇 氣泡排序

1 演算法描述依次比較相鄰的數劇,將小的數排前面,大的排後面。操作步驟 1 從第乙個元素開始,依次與後乙個數比較,小數放前,大數放後,結果是最大的放到了最後。2 對前n i個數重複 1 i從1至n 2,n為原序列大小。2 圖例 3 public void sort int data 4 穩定性及複雜...

基礎排序演算法之氣泡排序

1.主體 兩個迴圈 2.時間複雜度 o n 2 3.過程 對於公升序,比較相鄰兩個數,如果第二個數小,則交換位置 從數列後往前比較,最終第乙個數是最小的 重複上述步驟 demo include includeusing namespace std 氣泡排序 void my swap int firs...

排序演算法篇(氣泡排序)

氣泡排序 bubble sort 是一種簡單的排序演算法。它重複地走訪過要排序的數列,一次比較兩個元素,如果他們的順序錯誤就把他們交換過來。走訪數列的工作是重複地進行直到沒有再需要交換,也就是說該數列已經排序完成。這個演算法的名字由來是因為越小的元素會經由交換慢慢 浮 到數列的頂端。氣泡排序演算法的...