Algorithm/기본
선택 정렬(selection sort)
leedg36
2021. 4. 25. 13:49
반응형
개념
- 배열에서 최소값을 선택하여 제일 앞으로 이동시켜 정렬하는 알고리즘.
private void selectionSort(int[] list, ParamMap paramMap) {
int indexMin, temp;
// 1. 배열의 최소값 위치 설정(indexMin)
for (int i=0; i<list.length-1; i++) {
indexMin = i;
// 2. 탐색 중, 기존 최소값보다 작은 값이 존재한다면, 해당 값이 존재하는 위치를 최소값 위치로 설정
for (int j=i+1; j <list.length; j++) {
if (list[j] < list[indexMin]) {
indexMin = j;
}
}
// 3. 최소값이 존재하는 위치와 현재 정렬을 수행하는 위치의 값을 서로 교환(swap)
temp = list[indexMin];
list[indexMin] = list[i];
list[i] = temp;
}
}
※ 시간복잡도는 O(n^2)
반응형