選擇排序法 (Selection Sort) 教學

📝 簡述原理

選擇排序法是一種簡單直觀的排序演算法。它每次都從未排序的數列中找出最小(或最大)的元素,然後將其放到已排序數列的末尾。

這個過程會重複進行,直到整個數列都被排序完成為止。選擇排序的名稱來自於它每一輪都「選擇」出最小的元素,因此稱為「選擇排序」。

📊 複雜度分析

情境 時間複雜度 (Time Complexity) 空間複雜度 (Space Complexity)
最佳情況 (Best Case) O(n²) - 始終需要進行完整的比較 O(1) - 只需要一個常數空間來做交換
平均情況 (Average Case) O(n²)
最壞情況 (Worst Case) O(n²) - 無論數列順序如何

* 穩定性 (Stability):不穩定 (Unstable),因為值相同的元素的相對位置在排序過程中可能改變。

🎮 模擬實作

點擊「開始排序」觀察選擇排序的過程。紅色代表正在尋找最小值,綠色代表已經排序完成。