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