0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

【Python】選択ソート

Posted at

概要

選択ソートは、基本的なソートアルゴリズムの一つです。選択ソートの仕組みは、リストの中で最小(または最大)の要素を見つけ、それをリストの先頭に配置し、残りの部分について同じ操作を繰り返します。
選択ソートの計算量はO(n^2)で、効率はそれほど高くありません。

この記事では、Pythonでの選択ソート実装方法について説明します。

コード

以下がPythonでの選択ソートの実装例です。

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]
    return arr

# サンプルの使用例
if __name__ == "__main__":
    sample_data = [64, 25, 12, 22, 11]
    print("ソート前:", sample_data)
    sorted_data = selection_sort(sample_data)
    print("ソート後:", sorted_data)

実行結果

上記のコードを実行すると、次のような結果が得られます。

ソート前: [64, 25, 12, 22, 11]
ソート後: [11, 12, 22, 25, 64]

詳細

selection_sort関数は、リストarrを入力として受け取り、ソートされたリストを返します。
外側のforループでは、リストのすべての要素に対して操作を行います。
内側のforループでは、未ソート部分から最小の要素を見つけ、現在の位置(i)と入れ替えます。
この過程をリスト全体に対して繰り返すことで、全ての要素が昇順にソートされます。

参考

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?