1. 정의
선택 정렬(Selection Sort)이란, 현재 선택된 데이터 이후의 정렬 되지 않은 데이터 중에서 가장 작은(혹은 가장 큰) 데이터를 선택해 현재의 데이터와 위치를 교환하는 방식으로 정렬되는 방식이다.
2. 설명
PASS 1
우선 가장 앞의 데이터가 선택되게 된다. 그리고 그 데이터 이후를 탐색해 가장 작은 데이터를 찾는다. 최소 값의 데이터를 찾았다면, 두 데이터의 위치를 교환해준다. 예시의 데이터에서는 4 와 1 의 위치를 교환해주게 된다.
PASS 2
두 번째에서는, 2 가 선택되게 된다. 선택된 이후의 데이터에서 2 보다 작은 값은 존재하지 않으므로, SWAP 과정이 존재하지 않고 완료될 것이다.
PASS 3
PASS 3에서도 PASS 1, PASS 2와 동일한 방법을 시행한다.
PASS 4
PASS 5
PASS 6
정렬이 완료된 모습이다.
3. 코드
1) 선택정렬
2) 개선된 선택정렬
반응형
'프로그래밍 > 알고리즘' 카테고리의 다른 글
[알고리즘] 1_4. 병합 정렬(Merge Sort) (0) | 2017.02.11 |
---|---|
[알고리즘] 1_2. 버블정렬(Bubble Sort) (0) | 2016.01.29 |
[알고리즘] 1_1. 삽입정렬(Insertion Sort) (1) | 2016.01.27 |
[알고리즘] 1. 정렬 (0) | 2016.01.27 |