정렬 알고리즘 비교·교환 횟수 계산기
숫자를 넣으면 버블·선택·삽입·병합·퀵·힙 정렬의 비교 횟수와 교환·이동 횟수를 한 표에서 견줍니다. 회전마다 배열이 어떻게 바뀌는지도 함께 볼 수 있습니다.
공백이나 쉼표로 구분합니다. 40개까지 봅니다.
비교 횟수가 가장 적은 것
삽입 정렬
비교 16회 · 원소 8개
| 알고리즘 | 비교 | 교환·이동 | 비교가 최악의 몇 % |
|---|---|---|---|
| 버블 정렬 | 25 | 11 교환 | 89% |
| 선택 정렬 | 28 | 3 교환 | 100% |
| 삽입 정렬 | 16 | 17 이동 | 57% |
| 병합 정렬 | 17 | 48 이동 | 61% |
| 퀵 정렬 | 16 | 11 교환 | 57% |
| 힙 정렬 | 26 | 19 교환 | 93% |
| 회전 | 배열 |
|---|---|
| 시작 | 5 2 9 1 5 6 3 8 |
| 1 | 2 5 1 5 6 3 8 9 |
| 2 | 2 1 5 5 3 6 8 9 |
| 3 | 1 2 5 3 5 6 8 9 |
| 4 | 1 2 3 5 5 6 8 9 |
| 5 | 1 2 3 5 5 6 8 9 |
사용 방법
- 1정렬할 숫자를 공백이나 쉼표로 구분해 넣습니다.
- 2여섯 알고리즘의 비교·교환 횟수를 한 표에서 견줍니다.
- 3퀵 정렬의 피벗 규약과 버블 정렬의 조기 종료 여부를 바꿔 가며 횟수가 어떻게 달라지는지 봅니다.
- 4회전마다의 배열을 볼 알고리즘을 골라 과정을 따라갑니다.
자주 묻는 질문
입력과 무관하게 언제나 n(n−1)/2회입니다. 남은 구간을 끝까지 훑어 최솟값을 찾기 때문에 이미 정렬된 배열을 줘도 한 번도 줄지 않습니다. 대신 교환은 최대 n−1회로 적고, 이미 정렬돼 있으면 0회입니다.
역위(앞이 뒤보다 큰 쌍)의 개수와 정확히 같습니다. 붙어 있는 것끼리만 바꾸므로 한 번 바꿀 때 역위가 정확히 하나 줄기 때문입니다. 삽입 정렬에서 한 칸씩 밀어낸 횟수도 같은 이유로 역위 수와 같아, 겉보기에 다른 두 알고리즘이 실은 같은 일을 합니다.
삽입 정렬이 비교 n−1회, 이동 0회로 끝나 가장 빠릅니다. 반대로 첫 원소나 마지막 원소를 피벗으로 잡는 퀵 정렬은 분할이 한쪽으로만 쏠려 바로 이 입력에서 최악(n(n−1)/2회 비교)이 됩니다. 같은 O(n log n) 표기 안에서도 입력에 따라 순위가 뒤집힙니다.
원소가 어느 정도 많을 때만 이득입니다. 세 값을 견주는 데도 비교가 들어, 정렬된 5개에서는 마지막 원소 피벗이 10회·중앙값이 15회로 오히려 손해입니다. 8개에서 뒤집히고 16개면 120회 대 62회로 크게 벌어집니다. 실제 라이브러리가 작은 구간에서 삽입 정렬로 갈아타는 이유가 이 언저리입니다.
비교는 두 원소를 견준 횟수, 교환은 두 원소의 자리를 맞바꾼 횟수, 이동은 원소를 다른 칸에 쓴 횟수로 셉니다. 교환 한 번은 원소를 두 칸에 쓰는 것이라 이동으로 환산하면 2회이므로 두 값을 곧바로 견주면 안 됩니다. 반복문 조건에서 인덱스끼리 견주는 것은 비교로 세지 않습니다.
전송되지 않습니다. 모든 계산은 브라우저 안에서 이뤄지고, 입력값은 이 기기에만 남습니다.
알아두면 좋은 점
- 세는 규약을 밝히지 않으면 교재마다 답이 다릅니다. 여기서는 비교는 원소끼리 견준 횟수, 교환은 자리 맞바꿈, 이동은 칸에 쓴 횟수로 세며, 삽입 정렬은 마지막에 열쇠값을 제자리에 놓는 것도 이동 한 번으로 셉니다.
- 퀵 정렬은 로무토(Lomuto) 분할을 씁니다. 호어(Hoare) 분할은 같은 입력에서도 교환 횟수가 다르게 나오니 다른 답과 견줄 때 확인하세요. 중앙값 피벗을 고르는 데 드는 비교는 세 번으로 셉니다.
- 병합 정렬의 이동에는 여분 배열에서 원래 배열로 되돌려 놓는 것까지 포함합니다. 제자리에서 합치는 구현이나 배열을 번갈아 쓰는 구현은 이동 횟수가 더 적습니다.
- 실제 실행 시간은 비교·교환 횟수만으로 정해지지 않습니다. 캐시 지역성, 분기 예측, 원소 하나의 크기가 크게 작용해 횟수가 더 많은 알고리즘이 더 빠른 일도 흔합니다.
- 숫자는 40개까지 봅니다. 회전마다의 배열은 버블·선택·삽입에만 있습니다 — 병합·퀵·힙은 재귀나 부분 구간으로 움직여 «회전»이라는 단위가 없습니다.
함께 보면 좋은 도구
마지막 검증: 2026년 9월 1일 · 결과는 참고용 추정치입니다.