ホームページ  >  記事  >  バックエンド開発  >  Python を使用して選択ソート アルゴリズムの原理と実際の応用シナリオを学びます

Python を使用して選択ソート アルゴリズムの原理と実際の応用シナリオを学びます

王林
王林オリジナル
2024-02-03 08:26:05361ブラウズ

Python を使用して選択ソート アルゴリズムの原理と実際の応用シナリオを学びます

Python による選択ソートの基本的な考え方と応用を学ぶ

Selection Sort は、シンプルで直観的なソート アルゴリズムです。その基本的な考え方は、最小 (または最大) を選択することです。 ) 要素を並べ替えたデータから抽出して並べ替え領域の最後に配置し、次に残りの並べ替えられていないデータから最小 (または最大) の要素を選択して並べ替え領域の最後に配置するというように、すべてのデータが配置されるまで続きます。並べ替えました。

選択ソートの具体的な手順は次のとおりです。

  1. まず、ソート対象のデータから最小 (または最大) の要素を見つけて、それを最初の要素と交換します。
  2. 次に、ソートされていない残りのデータから最小 (または最大) の要素を見つけて、その位置を 2 番目の要素と交換します。
  3. すべてのデータが並べ替えられるまで、上記の手順を繰り返し、並べ替えられていない残りのデータの最小値 (または最大値) を並べ替え領域の最後の要素と順番に交換します。

以下は、Python を使用して選択並べ替えを実装するコード例です。

def selection_sort(arr):
    n = len(arr)
    for i in range(n-1):
        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] 

# 测试代码
arr = [64, 25, 12, 22, 11]
selection_sort(arr)
print("排序后的数组:")
for i in range(len(arr)):
    print(arr[i], end=" ")

上記のコードの selection_sort 関数は、選択並べ替えアルゴリズムを実装します。各ループで、min_idx は現在の未ソート領域の最小値のインデックスを記録し、内側のループで未ソート領域の最小値を見つけ、交換演算を使用してそれをソートされた領域。最後の要素が交換されます。最後に、複数のループを通じて、配列全体がソートされます。

上記のコードの出力結果は次のとおりです:

排序后的数组:
11 12 22 25 64

選択並べ替えの時間計算量は O(n^2) であるため、大量のデータがある状況には適していません。ただし、選択ソートの実装は比較的単純でコードも理解しやすいため、特定のシナリオでは依然として一定の応用価値があります。

上記のコード例と説明を通じて、選択並べ替えの基本的な考え方と応用を学びました。選択ソートアルゴリズムを理解し、習得するのに役立つことを願っています。

以上がPython を使用して選択ソート アルゴリズムの原理と実際の応用シナリオを学びますの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。