挿入ソートとは
挿入ソートとは、
です。
挿入ソートは、トランプの手札を並び替えるときに使うような直感的でシンプルなソートアルゴリズムです。
新しいカードを受け取るたびに、既に持っているカードの適切な位置に挿入していくイメージです。
アルゴリズムの概要
左側にソート済みの部分を作成し、各要素をソート済みの適切な位置に挿入していきます。
挿入ソートのアルゴリズム
-
-
ステップ1先頭の要素をソート済みとする
-
ステップ2未ソートの先頭をソート済みの適切な位置に挿入する
-
ステップ3未ソートの部分がなくなるまでステップ2を繰り返す
-
性能
時間計算量
時間計算量は以下の通りです。
空間計算量
空間計算量は、 \(O(1)\)(インプレース実装可能)
特徴
長所
短所
用途
実装(Python)
def insertion_sort(nums):
for i in range(1, len(nums)):
for j in range(i, 0, -1):
if nums[j - 1] < nums[j]:
break
nums[j], nums[j - 1] = nums[j - 1], nums[j]
nums = [4, 2, 3, 1]
insertion_sort(nums)
print(nums)
[1, 2, 3, 4]
コメント