본문/내용
1. 선택 정렬 개요
선택 정렬은 간단한 비교 기반 정렬 알고리즘으로, 주어진 리스트에서 가장 작은 원소를 찾아서 맨 앞 원소와 교체하는 방식으로 정렬을 진행한다. 이 알고리즘은 정렬 대상 배열의 크기를 n이라고 할 때, 최악, 평균, 최선 모두 O(n^2)의 시간 복잡도를 가진다. 즉, 데이터 크기가 커질수록 수행 시간이 빠르게 증가하여 10만 원 이상의 데이터에는 적합하지 않다. 선택 정렬의 핵심 과정은 먼저 배열의 첫 번째 원소를 가장 작은 값으로 가정하고, 이후 배열의 나머지 영역에서 더 작은 값이 발견될 때마다 위치를 변경하는 것이다. 이 과정을 반복하면서 정렬이 완성된다. 예를 들어, 배열이 [64, 25, 12, 22, 11]일 때, 처음 단계에서는 64와 가장 작은 값인 11을 교체하여 [11, 25, 12, 22, 64]로 만든다. 다음 단계에서는 두 번째 위치인 25와 이후 배열에서 가장 작은 값인 12를 교체하여 [11, 12, 25, 22, 64]로 만든다. 이와 같은 과정은 배열의 크기가 n일 때 최대 n-1번 수행된다. 선택 정렬은 구현이 단순하여 프로그래밍 입문자에게 적합하며, 추가적인 공간이 필요 없는 인플레인 정렬로 분류된다. 그러나 비교 연산이 많아 효율성 면에서…