저번 포스팅의 버블 정렬은 직관적이긴 하지만 O(n^2)의 시간이 소요된다고 했습니다. 이번에는 다른 정렬 알고리즘인 선택 정렬에 대해 공부해보도록 하겠습니다. 선택정렬 각 자료를 비교하는 횟수는 증가하지만 교환 횟수를 최소화하는 정렬입니다. 배열 안의 자료 중 가장 작은 수(혹은 큰 수)를 찾아 첫 번째 위치(혹은 가장 마지막 위치)의 수와 교환해주는 방식을 사용합니다. 버블 정렬과 마찬가지로 예를 들어 설명하자면 6 4 3 7 1 2 8 5 라는 정렬되지 않은 숫자가 있을 때 이를 선택 정렬을 이용해 오름차순으로 정리하는 방법은 우선 위의 수중에서 가장 작은 값을 찾습니다. (여기서 1) 1 4 3 7 6 2 8 5 // 1과 6의 위치를 바꿉니다. 그다음 1을 제외하고 4부터 시작해서 또 가장 작은..