ホームページ  >  記事  >  バックエンド開発  >  Python での選択並べ替えの実装に関するサンプル チュートリアルを共有する

Python での選択並べ替えの実装に関するサンプル チュートリアルを共有する

零下一度
零下一度オリジナル
2017-06-19 15:35:441309ブラウズ

選択方法は、バブリング方法と比較して、より賢明な方法であり、毎回 配列 の最大値が選択されます。前の要素と交換し、残りの要素の最大値を選択し、繰り返します。個人的には、選択ソートの重要性はソートそのものではなく、選択と置換の方法にあると考えています。これは一部の問題に非常に役立ちます。

選択ソート:

選択ソート (選択ソート) は、シンプルで直感的な並べ替えアルゴリズムです。仕組みは次のとおりです。まず、ソートされていないシーケンス内で最小の (大きい) 要素を見つけて、ソートされたシーケンスの先頭に格納します。次に、ソートされていない残りの要素から最小の (大きい) 要素を見つけて、それをソートされたシーケンスの最後に置きます。ソートされたシーケンス。すべての要素がソートされるまで続きます。 選択ソートの主な利点は、データの移動に関連しています。要素が正しい最終位置にある場合、その要素は移動されません。選択ソートで 1 組の要素が交換されるたびに、そのうちの少なくとも 1 つが最終位置に移動するため、n 個の要素のリストをソートするには最大でも n-1 回の交換が必要です。要素の移動を完全に交換に依存するすべてのソート方法の中で、選択ソートは非常に優れた方法です。

Python実装:

 # selection_sort.py
 def selection_sort(arr):
   count = len(arr)
   for i in range(count-1):  # 交换 n-1 次
     min = i
     # 找最小数
     for j in range(i, count):
       if arr[min] > arr[j]:
         min = j
     arr[min], arr[i] = arr[i], arr[min]  # 交换
   return arr
 
 my_list = [6, 23, 2, 54, 12, 6, 8, 100]
 print(selection_sort(my_list))

以上がPython での選択並べ替えの実装に関するサンプル チュートリアルを共有するの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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