整列選択(Selection Sort)
5153 ワード
ソートの選択
Selection SortはBubble Sortに似たアルゴリズムで、この順序で要素を配置する位置が決定され、どの要素を入れるかを選択するアルゴリズムです.
SortとInsertionSortの選択を混同する人が多く、Sortを選択して配列内で該当する位置を選択し、該当する値を見つけると便利です.
ソート・プロシージャ
コード#コード#
void selectionSort(int[] arr) {
int indexMin, temp;
for (int i = 0; i < arr.length-1; i++) { // 1.
indexMin = i;
for (int j = i + 1; j < arr.length; j++) { // 2.
if (arr[j] < arr[indexMin]) { // 3.
indexMin = j;
}
}
// 4. swap(arr[indexMin], arr[i])
temp = arr[indexMin];
arr[indexMin] = arr[i];
arr[i] = temp;
}
System.out.println(Arrays.toString(arr));
}
まず、位置(inde)を選択します. 複雑さと特徴
時間の複雑さ
1回目の回転の比較回数:1~(n-1)=>n-1
2回目の回転の比較回数:2~(n-1)=>n-2
...
(n-1) + (n-2) + .... + 2 + 1 => n(n-1)/2
くうかんふくざつさ
与えられた配列ではスイッチ(Swap)により並べ替えられているのでO(n)となる.
長所
短所
📝リファレンス
https://gyoogle.dev/blog/algorithm/Selection%20Sort.html
Reference
この問題について(整列選択(Selection Sort)), 我々は、より多くの情報をここで見つけました https://velog.io/@hoyun7443/선택-정렬テキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol