直觀的排序方式,就像理牌一樣
回到首頁插入排序法的工作原理是將序列分為「已排序」和「未排序」兩部分。每一輪從未排序部分取出一個元素,將其插入到已排序部分的適當位置,就像整理手中的撲克牌一樣。
| 情況 | 時間複雜度 | 空間複雜度 | 說明 | 難易度 |
|---|---|---|---|---|
| 最佳 | O(n) | O(1) | 當陣列已經排序時,只需 n-1 次比較,無需移動元素。 | 簡單 |
| 平均 | O(n²) | O(1) | 隨機資料需要多次比較和移動,平均比較次數約為 n²/4。 | 中等 |
| 最壞 | O(n²) | O(1) | 陣列完全反序時,每個元素都需要與前面所有元素比較並移動。 | 困難 |
| 空間 | — | O(1) | 原地排序,只需要一個額外空間來暫存當前處理的元素。 | 低 |
| 穩定性 | 穩定 | 相同元素的相對順序不會改變,適合需要穩定排序的場景。 | 低 | |