← 返回首頁

氣泡排序法 (Bubble Sort) 教學

📝 簡述原理

氣泡排序法是一種簡單的排序演算法。它會重複地走訪要排序的數列,一次比較兩個相鄰的元素。如果它們的順序錯誤(例如:前面的大於後面的),就把牠們交換過來。

這個過程會重複進行,直到沒有再需要交換的元素為止。因為越大的元素會經由交換,慢慢「浮」到數列的頂端(最後面),就像水中的氣泡浮到水面一樣,故得名「氣泡排序」。

📊 複雜度分析

情境 時間複雜度 (Time Complexity) 空間複雜度 (Space Complexity)
最佳情況 (Best Case) O(n) - 數列已排序,加上提早結束標記(Flag) O(1) - 只需要一個常數空間來做交換
平均情況 (Average Case) O(n²)
最壞情況 (Worst Case) O(n²) - 數列剛好是反向排序

* 穩定性 (Stability):穩定 (Stable),因為值相同的元素不會交換位置。

🎮 模擬實作

點擊「開始排序」觀察氣泡排序的過程。紅色代表正在比較,綠色代表已經排序完成。