반응형
개념
- 배열에서 최소값을 선택하여 제일 앞으로 이동시켜 정렬하는 알고리즘.
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)
반응형
'Algorithm > 기본' 카테고리의 다른 글
계수 정렬(counting sort) (0) | 2021.05.04 |
---|---|
병합 정렬(merge sort) (0) | 2021.04.29 |
퀵 정렬(quick sort) (0) | 2021.04.28 |
삽입 정렬(insertion sort) (0) | 2021.04.26 |
버블 정렬(bubble sort) (0) | 2021.04.25 |