Developer Toolbox

선택 정렬

남은 값 중 최솟값을 찾아 다음 자리로 교환합니다. 교환은 아주 적지만, 비교 횟수는 언제나 같습니다.

  • Ω(n²)
  • Θ(n²)
  • O(n²)
  • O(1)
  • 아니요
  • 예
  • 비교 중
  • 이동 중
  • 현재 최솟값
  • 제자리
0 / 399 단계

비교 횟수: 0 · 비교한 쌍: 0 / 276 비교됨 (진할수록 자주) 지금 비교 중

비교 횟수 교환 횟수

재생을 누르면 정렬이 진행되며 비용이 늘어나는 모습이 선으로 보입니다

재생을 누르거나 한 단계씩 진행하세요.

스페이스바: 재생 또는 일시정지. 좌우 화살표 키: 단계 이동. Home과 End 키: 처음과 끝으로 이동.

해 보세요: 역순 리스트를 골라 보세요. 비교 횟수는 다른 어떤 리스트와도 똑같습니다.

작동 방식

아직 정렬되지 않은 부분을 훑어 최솟값을 찾습니다. 그 값을 정렬되지 않은 부분의 첫 값과 교환하면, 값 하나가 더 제자리를 찾습니다. 리스트가 이미 정렬되어 있어도 남은 값을 매번 모두 확인합니다.

언제 쓰면 좋을까

데이터를 읽는 비용은 작고 옮기는 비용은 클 때 유용합니다. 자리마다 교환이 많아야 한 번이기 때문입니다. 그 밖의 경우에는 간단한 방법 중에서 삽입 정렬이 더 낫습니다.