제자리 정렬 알고리즘
장점
- 구현이 쉽다.
- 제자리 정렬(추가 저장 공간이 필요 없음)
단점
- 데이터의 양에 유연하지 않습니다.
알고리즘 구현
- 목록에서 최소값을 찾습니다.
- 찾은 최소값을 맨 앞의 값(혹은 현재 위치의 값)과 교체합니다.
- 배열의 전체 요소가 정렬될 때까지 이 과정을 반복합니다.
void selctionSort(int[] list, int n) {
int i, j, min, temp;
for (i = 0; i < n - 1; i++) {
min = i;
for (j = i + 1; j < n; j++) {
if (list[j] < list[min]) {
min = j;
}
}
temp = list[min];
list[min] = list[i];
list[i] = temp;
}
}
성능
최악의 경우 복잡도 O(n2)
최선의 경우 복잡도 O(n)
평균 복잡도 O(n2)
최악의 경우 공간 복잡도 O(1) 보조공간
'알고리즘' 카테고리의 다른 글
백준 1181 단어 정렬 (0) | 2019.03.02 |
---|---|
BOJ 1620번, 나는야 포켓몬 마스터 이다솜 (0) | 2019.02.04 |
BOJ 2501 약수구하기 (0) | 2019.01.25 |
CodeForces, 1A. Theatre Square (0) | 2019.01.18 |