← 返回首頁

插入排序法 (Insertion Sort) 教學

📝 簡述原理

插入排序法是一種簡單直觀的排序演算法。它從第二個元素開始,逐個取出未排序部分的元素,並將其插入到已排序部分的適當位置中。

這個演算法就像整理撲克牌一樣:一開始只有一張牌,然後逐張取出新牌,並將其插入到已排序的牌組中的正確位置。這個過程會重複進行,直到所有元素都被處理為止。

📊 複雜度分析

情境 時間複雜度 (Time Complexity) 空間複雜度 (Space Complexity)
最佳情況 (Best Case) O(n) - 數列已排序,每個元素只比較一次 O(1) - 只需要常數額外空間
平均情況 (Average Case) O(n²)
最壞情況 (Worst Case) O(n²) - 數列是反向排序

* 穩定性 (Stability):穩定 (Stable),因為只有在元素大小不同時才會移動。

🎮 模擬實作

點擊「開始排序」觀察插入排序的過程。綠色代表已排序的部分,紅色代表正在處理的元素。