Selection Sort(선택정렬)

CODEDRAGON Development/Algorithm, DataStructure

반응형


 

 

Selection Sort(선택정렬)

선택정렬(Selection Sort) 알고리즘은 반복적으로 특정 값을 정렬된 최종 위치에 배치시킴으로써 값들의 목록을 정렬한다. , 목록의 위치에 대해서 위치에 배치되어야 하는 값을 선택하고, 값을 곳에 배치하게 됩니다.

 


 

 

단계

설명


 

정렬되지 않은 데이터


 

3에서 시작합니다.

3 최소값에 넣고 오른쪽 방향으로 작은값이 있는지 비교해 갑니다.


 

오른쪽의 9 3보다 작지 않습니다.

그러므로 다음 오른쪽의 값과 비교를 진행하기 위해 넘어갑니다.


 

오른쪽의 6 3보다 작지 않습니다.

다음 비교를 위해 오른쪽으로 진행합니다.


 

1 3보다 작으므로 Minimum Value 집어넣고 3 1 1 3으로 서로 위치를 바꿔줍니다.

최소값이 변경되었으며 다시 오른쪽으로 진행하면서 비교합니다.


 

오른쪽의 2 1보다 작지않습니다.

다음 비교를 위해 오른쪽으로 진행해야 하지만 모든 요소를 순회했으므로 현재 비교는 종료됩니다.


 

다음 비교를 위해 비교값 위치를 다음으로 이동합니다.

어떤 값도 비교되지 않은 상태이므로 현재 값인 9 Minimum Value 됩니다.

비교를 위해 오른쪽으로 진행합니다.


 

오른쪽의 6 9보다 작습니다.

그러므로 Minimum Value 6으로 변경한

서로위치를 변경합니다.

다음 비교를 위해 오른쪽으로 진행합니다.


 

오른쪽의 3 6보다 작습니다.

그러므로 Minimum Value 3으로 변경한

서로위치를 변경합니다.

다음 비교를 위해 오른쪽으로 진행합니다.


 

오른쪽의 2 3보다 작습니다.

그러므로 Minimum Value 2 변경한

서로위치를 변경합니다.

다음 비교를 위해 오른쪽으로 진행합니다.


 

다음 비교를 위해 비교값 위치를 다음으로 이동합니다.

어떤 값도 비교되지 않은 상태이므로 현재 값인 9 Minimum Value 됩니다.

비교를 위해 오른쪽으로 진행합니다.


오른쪽의 6 9보다 작습니다.

그러므로 Minimum Value 6 변경한

서로위치를 변경합니다.

다음 비교를 위해 오른쪽으로 진행합니다.


 

오른쪽의 3 6보다 작습니다.

그러므로 Minimum Value 3 변경한

서로위치를 변경합니다.

모든 순회를 마쳤습니다.



 

다음 순회를 위해 위치를 오른쪽으로 이동합니다.

어떤 값도 비교되지 않은 상태이므로 현재 값인 9 Minimum Value 됩니다.

비교를 위해 오른쪽으로 진행합니다.

 



 

오른쪽의 6 9보다 작습니다.

그러므로 Minimum Value 6 변경한

서로위치를 변경합니다.

모든 순회를 마쳤습니다.


다음 순회를 위해 위치를 오른쪽으로 이동합니다.

어떤 값도 비교되지 않은 상태이므로 현재 값인 9 Minimum Value 됩니다.

비교를 위해 오른쪽으로 진행해야 하지만 비교할 값이 없으므로 선택 정렬을 종료합니다.

 

 

선택 정렬의 결과를 보면 1, 2, 3, 6, 9 정렬된 상태로 변경된 것을 확인할 있습니다.