如何優化乙個氣泡排序

2021-10-23 06:29:16 字數 466 閱讀 6914

氣泡排序應該是很多人第乙個接觸的排序,比較簡單,不展開講解了

function bubblesort(arr)

}} return arr

}複製**

氣泡排序總會執行(n-1)+(n-2)+(n-3)+..+2+1趟,但如果執行到當中某一趟時排序已經完成,或者輸入的是乙個有序陣列,那麼後邊的比較就都是多餘的,為了避免這種情況,我們增加乙個flag,判斷排序是否在中途就已經完成(也就是判斷有無發生元素交換)

function bubblesort(arr)

}// 這個flag的含義是:如果`某次迴圈`中沒有交換過元素,那麼意味著排序已經完成

if(flag)break;

} return arr

}

如何優化氣泡排序?

比較相鄰兩個元素,如果第乙個比第二個大,則交換兩個元素 從左到右依次比較,直到最大數字於陣列尾端 重複n 1次1 2步驟,除去已經排序的最大數 依次將第二,第三。第n 1大的數排好位置。原序列396 5827 4第1趟36 5827 49 第2趟356 2748 9第3趟35 264789 第4趟3...

氣泡排序以及如何優化氣泡排序

氣泡排序的基本思想是 通過對待排序序列從前往後 從下標較小的元素開始 依次比較相鄰元素的值,若發現逆序則交換,使值較大的元素逐漸從前移向後部,就像水底下的泡泡一樣逐漸向上冒。測試八萬個資料進行排序,使用優化後的 大致需要20秒 如下 public static void bubblesort int...

Python 如何優化氣泡排序

什麼叫氣泡排序法?相信有接觸過演算法的朋友多少都了解氣泡排序法,那麼什麼是氣泡排序法呢?氣泡排序,英文名稱 bubble sort 是一種基礎的交換排序演算法,在日常工作中經常會用到,例如 頁面資料需按時間先後排序,這本質上也是一種氣泡排序法。喝過可樂的朋友都知道,可樂裡面的氣泡會向上浮,這就是氣泡...