python資料結構與演算法 氣泡排序

2021-08-17 05:56:19 字數 831 閱讀 6335

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

氣泡排序演算法的運作如下:

交換過程圖示(第一次):

那麼我們需要進行n-1次冒泡過程,每次對應的比較次數如下圖所示:

# j表示每次遍歷需要比較的次數,是逐漸減小的

資料結構與演算法 python排序演算法 氣泡排序

排序演算法 英語 sorting algorithm 是一種能將一串資料依照特定順序進行排列的一種演算法。排序演算法的穩定性 穩定排序演算法會讓原本有相等鍵值的紀錄維持相對次序。也就是如果乙個排序演算法是穩定的,當有兩個相等鍵值的紀錄r和s,且在原本的列表中r出現在s之前,在排序過的列表中r也將會是...

資料結構與演算法 氣泡排序演算法

氣泡排序的基本思想是 從前往後依次比較相鄰的兩個元素,如是從小到大排序 發現數值小的在後面則想換位置,發現數值大的在後面則不變。然後繼續向後比較兩個相鄰的元素,直到比較到最後乙個元素,這一小輪的比較就算完成了,那麼最大的元素肯定可以確定,且排在了最後的位置,然後在開始新的一輪比較,以此類推。例 原始...

資料結構與演算法 氣泡排序

氣泡排序的思想是,從前往後 或從後往前 掃瞄,每找乙個逆序對,就將它更正過來,這樣每一輪總可以找到乙個最大值或最小值。1 從前往後掃瞄,每次找到的較大值插入到後面,第一層迴圈代表當前插入位置。public static void sinksort int nums,int start,int end...