개발자's Life

[알고리즘] 중요하지 않은 듯 중요한 선택정렬 본문

코딩테스트/Study

[알고리즘] 중요하지 않은 듯 중요한 선택정렬

Rowen Jobs 2023. 7. 30. 15:21
728x90
반응형

선택정렬은 알고리즘 문제에 많이 적용되지는 않지만 어떤 문제 일부로 사용이될 수도 있고 

기술면접 같은데서 필요할 경우가 있을수도 있다. 

 

선택정렬 알고리즘은 간단하고 버블정렬과 동일하게 시간이 많이 걸린다.

버블정렬과 동일하게 시간이 많이 걸림 (N제곱)

 

내림차순, 오름차순에 따라 방식이 좀 다르다.

 

오름차순일 경우 배열 전체에서 최솟값을 계속 찾아 제일 왼쪽으로 쌓아 나간다.

52 3 23 12

최솟값 3과 맨 왼쪽에 있는 52 swap

                             ▽

3 52 23 12

인덱스 0을 제외한 최솟값 12와 맨 왼쪽에 있는 52 swap 

                           ▽

3 12 23 52

최솟값 23이 이미 맨 왼쪽에 있어 유지가 되고 그 다음 인덱스로 넘어간다

                        ▽

3 12 23 52

마지막 인덱스인 값만 남아서 그대로 유지가 되고 위와 같이 배열이 오름차순으로 정렬이 된다.

 

이와같이 선택정렬이 진행이 되고 알고리즘 문제에서 많이 사용은 되지 않지만 기술면접이나 가끔 사용되는 경우가 있다하니 알아놓는것도 좋은거 같다.

728x90
Comments