본문 바로가기

프로그래밍/알고리즘

[알고리즘] 1_3. 선택 정렬(Selection Sort)

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) 개선된 선택정렬


다른 정렬 알고리즘 보기

반응형