post-image

選択ソートを自己実装


  • クラス ソート
  • データ構造 配列
  • 平均計算時間 О(n²)= n(n-1) / 2(固定)
  • 最悪計算時間 О(n²)
  • 最良計算時間 О(n²)
  • バブルソートと比較すると、「比較回数」は同じ。ただし、「交換回数」が少ないので、選択ソートの方が高速。
  • 非安定なソート

Selection Sort(選択ソート)

for I := 1 to N
  min := I
  for J := I+1 to N  
    if data[J] < data[min] then
      min := J
    end if
  end for
  swap(data[I], data[min])
end for

Python

def selection_sort(target):
    for i in range(len(target)):
        min = i
        for j in range(i, len(target)):
            if target[j] < target[min]:
                min = j
        target[min], target[i] = target[i], target[min]

if __name__ == "__main__":
    target = [3, 7, 4, 8, 9, 5, 6, 1, 2]
    selection_sort(target)
    print(target)

Back to blog

あなたのひらめきをかたちに

どうやって作るのか想像がつかなければ、一緒に作り上げましょう.

お話をうかがさせてください