選択ソートアルゴリズム
3101 ワード
dev.to の ""タブを見てみましょう.ポータルで最も人気のある記事のリストがあります.表示するには、まずすべての記事を閲覧数で並べ替える必要があります.これを行うには、Selection ソート アルゴリズムを使用できます.
このアルゴリズムの原理は非常に単純です.記事のリストを検索して閲覧数が最も多いものを探し、それを新しく作成したリストの最初のインデックスにコピーして、古いリストからこの項目を削除します.ソートされたリストが得られるまで、これらの手順を繰り返します.
アルゴリズムはシンプルですが、大量のデータでは非常に遅いため、dev.to 開発者は確かに高速なものを使用していました.リスト内のすべての要素を検索する必要があるため、Big O 表記で指定されたこのアルゴリズムの速度は O(n2) です.
Big O 記法についての詳細は、以前の投稿で読むことができます
このアルゴリズムの原理は非常に単純です.記事のリストを検索して閲覧数が最も多いものを探し、それを新しく作成したリストの最初のインデックスにコピーして、古いリストからこの項目を削除します.ソートされたリストが得られるまで、これらの手順を繰り返します.
def findBiggest(arr):
biggest = arr[0]
biggest_index = 0
for i in range(1, len(arr)):
if arr[i] > biggest:
biggest = arr[i]
biggest_index = i
return biggest_index
def selectionSort(arr):
newArr = []
for i in range(len(arr)):
biggest = findBiggest(arr)
newArr.append(arr.pop(biggest))
return newArr
print(selectionSort([51, 32, 63, 2, 101])) # [101, 63, 51, 32, 2]
アルゴリズムはシンプルですが、大量のデータでは非常に遅いため、dev.to 開発者は確かに高速なものを使用していました.リスト内のすべての要素を検索する必要があるため、Big O 表記で指定されたこのアルゴリズムの速度は O(n2) です.
Big O 記法についての詳細は、以前の投稿で読むことができます
Reference
この問題について(選択ソートアルゴリズム), 我々は、より多くの情報をここで見つけました https://dev.to/quentindamianino/selection-sort-algorithm-46ncテキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol