본문 바로가기
{Programing}/Algorithm

알고리즘 - 선택 정렬(Selection Sort)

by 탱타로케이 2020. 3. 11.

가장 기초적인 정렬 알고리즘.

 

정렬 위치에 따라 어떤 값을 넣을지 '선택' 하는 알고리즘.

 

배열 or 리스트 를 사용하며 추가적인 메모리가 필요하지 않은 정렬방법.

 

1. 주어진 배열 중 최솟값을 찾음.

2. 그 값을 맨 앞의 요소로 교체

3. 두번째 위치부터 반복.

4. 맨 끝 하나의 요소만 남을 때까지 1~3을 반복.

 

요소 하나를 '선택' 해서 정렬되지 않은 모든 요소와 비교하며 맞는 정렬위치를 찾아가는 정렬 방법.

알고리즘이 순환하는 시기마다 1회차에는 가장 작은 요소, 2회차에는 두번째로 작은 요소를 '선택'해 나머지와 비교한다.

 

장점 : 반복회수가 미리 결정.

단점 : 안전성이 만족되지 않는다. 같은 값의 요소가 있다면 상대적인 위치가 변경될 수 있다.

댓글