ソートの選択


  • を使用して位置を交換し、最小値の要素から順に選択
  • ソート・プロシージャ
  • で指定されたリストで最小値を探します.
  • その値
  • をリストの一番前の値とスワップします.
  • 最初の場所以外のリストについては、上記の手順を繰り返します.
  • 時間複雑度:O(n^2)
  • def selection_sort(arr):
        for i in range(len(arr) - 1):
            min_idx = i
            for j in range(i + 1, len(arr)):
                if arr[j] < arr[min_idx]:
                    min_idx = j
            arr[i], arr[min_idx] = arr[min_idx], arr[i]
  • の最小値をiインデックスとして指定します.
  • i+1から、アレイの周りに最小インデックスを探します.
  • リストの一番前と交換します.
  • 未ソートiが増加するにつれて、ソートされた部分と未ソートの部分が分離され、未ソート部分の最初の送信として最小値が探索され続ける.