[アルゴリズム]Sortの選択
5078 ワード
Abstract
Selection Sortは
해당 순서에 원소를 넣을 위치는 이미 정해져 있고, 어떤 원소를 넣을지 선택하는 알고리즘
です.Process(Ascending)
C++ Code(Ascending)
#include <iostream>
#include <vector>
using namespace std;
void SelectionSort(vector<int> arr){
int indexMin, temp = 0;
for(int i=0; i<arr.size()-1; i++){ // 1
indexMin = i;
for (int j=i+1; j<arr.size(); j++){ // 2
if(arr[j] < arr[indexMin]){ // 3
indexMin = j;
}
}
swap(arr[indexMin], arr[i]); // 4
}
}
コメントの説明
GIFとしての選択Sort
時間の複雑さ
時間複雑度はO(n^2)であり,
(n-1) + (n-2) + (n-3) + ... + 2 + 1 ➡ n(n-1)/2
であるためである.並べ替えの有無にかかわらず比較するので,最適,平均,最悪の場合はO(n^2)である.
くうかんふくざつさ
O(n)は、所与の配列において交換によって並べ替えられるからである.
長所
短所
コメントサイト
ソートの選択
安定ソートと不安定ソート
Reference
この問題について([アルゴリズム]Sortの選択), 我々は、より多くの情報をここで見つけました https://velog.io/@emily0_0/알고리즘-Selection-Sortテキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol