選択ソートとは
選択ソートとは、
です。
選択ソートは、リストの中から最小(または最大)の要素を選び、それを順に並べていく直感的なソートアルゴリズムです。
アルゴリズムの概要
左側にソート済みの部分を作成し、未ソートの中で最小の要素を未ソート部分の先頭に配置していきます。
挿入ソートのアルゴリズム
-
-
ステップ1未ソート部分の最小の要素を見つける
-
ステップ2最小の要素を未ソートの先頭と入れ替えて、ソート済みとする
-
ステップ3未ソートの部分がなくなるまでステップ1,2を繰り返す
-
性能
時間計算量
時間計算量は以下の通りです。
空間計算量
空間計算量は、 \(O(1)\)(インプレース実装可能)
特徴
長所
短所
用途
実装(Python)
def selection_sort(nums):
for unsorted_top in range(len(nums) - 1):
min_index = unsorted_top
for i in range(unsorted_top, len(nums)):
if nums[i] < nums[min_index]:
min_index = i
nums[unsorted_top], nums[min_index] = nums[min_index], nums[unsorted_top]
nums = [4, 2, 3, 1]
selection_sort(nums)
print(nums)
[1, 2, 3, 4]
コメント