남은 부분에서 고르기
8, 3, 6, 1에서 처음에는 1을 찾아 맨 앞의 8과 바꿀 수 있다. 다음에는 첫 자리를 제외한 부분에서 가장 작은 값을 찾는다. 각 단계에서 다음 자리에 들어갈 원소 하나를 결정한다.
정렬된 입력도 비교한다
기본 구현은 남은 부분을 끝까지 살펴 최솟값을 확인한다. 따라서 값들이 이미 순서대로 있더라도 비교를 대부분 생략하지 않는다. 삽입 정렬처럼 입력의 정렬 상태에 따라 크게 줄어드는 동작과 구분된다.
비교와 교환의 차이
최솟값을 찾으려면 여러 번 비교하지만 찾은 값을 제자리로 옮기는 교환은 단계마다 많지 않다. 전형적인 구현에서 비교는 제곱 규모로 늘고 교환은 선형 규모로 늘어난다. 비용을 말할 때 어떤 연산을 세는지 밝혀야 한다.
안정성은 구현에 달려 있다
멀리 있는 원소와 바로 교환하면 같은 키를 가진 항목들의 원래 순서가 뒤바뀔 수 있다. 선택한 값을 끼워 넣으며 중간 원소를 이동하는 변형은 다른 성질을 가질 수 있다. 교환 횟수와 이동 횟수도 이런 구현 차이에 따라 달라진다.