選択ソート | 応用情報技術者試験
選択ソートとは
選択ソート(Selection Sort)とは、データ群を並び替えるアルゴリズムの一つで、データの中から「最小値(または最大値)」を見つけ出し、それを未整列の部分の先頭と入れ替える操作を繰り返す手法です。「最小値を選択して前に持ってくる」というルールをシンプルに繰り返すことで、配列の左側から順番に整列されたデータが確定していきます。
具体例
トランプのカードがバラバラに置かれているとき、その中から一番数字の小さいカードを目で探して(選択して)一番左側に置きます。次に、残りのカードから一番小さいカードを探してその右隣に置く、という作業を最後の1枚になるまで繰り返す方法です。
# 選択ソートのプログラム例
def selection_sort(arr):
n = len(arr)
for i in range(n):
min_idx = i
for j in range(i + 1, n):
if arr[j] < arr[min_idx]:
min_idx = j
arr[i], arr[min_idx] = arr[min_idx], arr[i] # 最小値と入れ替え
もう少し詳しく