🫧 氣泡排序法 (Bubble Sort) 核心概念

氣泡排序法是最基礎、最廣為人知的排序演算法。它的運作過程就像水裡的氣泡慢慢往上飄:透過不斷地將相鄰的兩個數字進行比較與交換,每一輪都會讓當前最大的數字「浮」到陣列的最右端。

🎯 三步核心流程

  1. 相鄰比對 (Compare): 從陣列開頭起,兩兩比較相鄰的兩個數字。
  2. 大小交換 (Swap): 如果左邊的數字大於右邊,就將它們互換位置。
  3. 浮出水面 (Bubble Up): 走到陣列尾端時,最大的數字就已就位。扣除已排好的尾部,重複步驟直到沒有數字需要交換。

⏱️ 效能與複雜度

  • 平均與最壞: O(n²),因為需要進行極大量的重複比較與交換。
  • 最好情況: 若加入「提早結束」的優化機制(檢查該回合是否有發生交換),在陣列已排好時複雜度可降至 O(n)
  • 特性: 空間佔用 O(1),且為穩定排序

💡 為什麼我們還要學它?

老實說,因為效能較差,實務專案中幾乎不會使用氣泡排序。但它邏輯極度直觀、程式碼撰寫最簡單,是所有程式初學者理解「雙重迴圈」與「條件判斷」完美結合的最佳敲門磚!

泡沫排序動畫

回首頁