⬅ 返回選單

一、操作原理

插入排序法 (Insertion Sort) 的運作方式就像是我們在打撲克牌時「理牌」的過程。

演算法會將陣列分為「已排序」與「未排序」兩個區域。每次從未排序區域抽出第一個元素(稱為 Key),接著在已排序區域中由後往前掃描。如果遇到比 Key 大的元素,就將該元素往右移一格,直到找到適合的空位,最後將 Key 插入該位置。

二、複雜度分析

O(n)
最佳時間複雜度
(當數列已排序,每次只需比較一次)
O(n2)
平均時間複雜度
O(n2)
最壞時間複雜度
(當數列為完全反向)

三、演算法特性

穩定 ✓
穩定性 (Stability)
只在嚴格大於 Key 時才右移,相同元素不改變相對順序
O(1)
空間複雜度 (Space Complexity)
原地排序 (In-place),僅需一個額外變數記錄 Key

四、互動視覺化操作

700ms
已排序區
抽出的 Key
掃描比較中
元素右移
準備就緒,請點擊「開始」或「單步」...
0
比較次數
0
移動次數
0
已完成輪數
7
陣列大小 n

五、步驟記錄