본문/내용
1. 선택 정렬 개요
선택 정렬은 가장 간단하고 직관적인 정렬 알고리즘 중 하나로, 배열 내에서 최소값 또는 최대값을 찾아 정렬하는 방법이다. 이 방법은 정렬 대상 배열의 크기 n에 대해 반복적으로 선택 과정을 수행하며, 각 반복마다 최소값을 찾아 배열의 맨 앞 또는 맨 뒤 위치에 교환하는 방식으로 작동한다. 구체적으로, 배열 전체를 한 번 훑으며 가장 작은 값을 찾고, 그 값을 맨 앞 위치와 교환한다. 이 과정은 정렬이 완료될 때까지 반복된다. 예를 들어, 배열이 [5, 3, 8, 6, 2]일 경우, 첫 번째 반복에서는 가장 작은 값인 2를 찾아 배열의 맨 앞에 위치시키고, 다음 반복에서는 두 번째 자리부터 나머지 배열에서 최소값을 찾아 계속해서 정렬하는 원리다. 선택 정렬은 구조가 단순해서 구현이 쉽기 때문에 초보 프로그래머에게 적합하다고 평가받으며, 시간 복잡도는 최악, 평균, 최선 모두 O(n^2)이다. 이는 배열이 정렬된 상태이거나 무작위 배치에 관계없이 항상 반복문이 같은 횟수만큼 수행된다는 의미로, 대규모 데이터에 대해 비효율적이라는 한계가 있다. 실제로, 10,000개의 랜덤 데이터에 대해 선택 정렬이 수행된 평균 시간은 약 12초로, 병렬 …