交換排序 氣泡排序

2021-09-12 08:26:28 字數 889 閱讀 6484

氣泡排序:(low)

只會操作相鄰的兩個元素,每次對相鄰的兩個元素進行大小比較,看是否滿足大小要求,一次冒泡至少會讓

乙個元素移動到最終位置。

例如:對一組數 4 5 6 3 2 1,進行從小到大的排序。它的第一次冒泡過程:

經過6次這樣的冒泡過程,6個元素就會變成 1 2 3 4 5 6

例外:如果是  1 3 2 4 5 6 這樣的序列,只需遍歷一次就已經有序,所以設定乙個標誌位flag。

示例**:

氣泡排序演算法的執行效率:

最好情況:

資料集本身就是乙個有序集合,o(n)

最壞情況:

據集完全逆序,o(n^2)

平均複雜度:

o(n^2)

演算法的記憶體消耗:

o(1),無需開闢新的空間,僅僅是原有的資料交換,氣泡排序是乙個原地排序。

演算法的穩定性:

氣泡排序由於相鄰元素發生大小關係變換才會交換次序,所以當兩個元素大小相等時,

並不會改變其相對順序。(穩定)

交換排序 氣泡排序

交換排序 兩兩比較待排序記錄的關鍵碼,若是逆序,則交換,直到無逆序。其中最簡單的交換排序是 氣泡排序。氣泡排序 bubble sort,也叫起泡排序 不斷地比較相鄰的記錄,若是不滿足排序要求,則交換。交換時,可從前向後,也可從後向前。看乙個從前向後的排序過程 原序列 12 3 45 33 6 下標 ...

氣泡排序 交換排序

最壞情況下,直接插入排序時間複雜度為 n 最小時間代價為 n 平均時間代價為 n 附加儲存空間 乙個儲存單位 穩定性 穩定 原址性 是 緊緻性 乙個比較,三個賦值操作 特點 對於基本有序,或偶爾有幾個在有序位置附近時,效率高,只有直接插入排序和它達到一樣的效果 整體效果不如直接插入排序,因為,直接插...

交換排序 氣泡排序

1.原理 從小到大排序 存在10個不同大小的氣泡,由底至上地把較少的氣泡逐步地向上公升,這樣經過遍歷一次後,最小的氣泡就會被上公升到頂 下標為0 然後再從底至上地這樣公升,迴圈直至十個氣泡大小有序。在 氣泡排序中,最重要的思想是兩兩比較,將兩者較少的公升上去 氣泡排序最壞情況的時間複雜度是o n 2...