插入排序法是一種簡單直觀的排序演算法。它從第二個元素開始,逐個取出未排序部分的元素,並將其插入到已排序部分的適當位置中。
這個演算法就像整理撲克牌一樣:一開始只有一張牌,然後逐張取出新牌,並將其插入到已排序的牌組中的正確位置。這個過程會重複進行,直到所有元素都被處理為止。
| 情境 | 時間複雜度 (Time Complexity) | 空間複雜度 (Space Complexity) |
|---|---|---|
| 最佳情況 (Best Case) | O(n) - 數列已排序,每個元素只比較一次 | O(1) - 只需要常數額外空間 |
| 平均情況 (Average Case) | O(n²) | |
| 最壞情況 (Worst Case) | O(n²) - 數列是反向排序 |
* 穩定性 (Stability):穩定 (Stable),因為只有在元素大小不同時才會移動。
點擊「開始排序」觀察插入排序的過程。綠色代表已排序的部分,紅色代表正在處理的元素。