정렬 알고리즘의 동작 원리를 시각적으로 확인하세요. 버블, 선택, 삽입, 퀵, 병합 정렬을 단계별로 비교합니다.
| 알고리즘 | 최선 | 평균 | 최악 | 공간 | 안정성 |
|---|---|---|---|---|---|
| 버블 정렬 | O(n) | O(n²) | O(n²) | O(1) | 안정 |
| 선택 정렬 | O(n²) | O(n²) | O(n²) | O(1) | 불안정 |
| 삽입 정렬 | O(n) | O(n²) | O(n²) | O(1) | 안정 |
| 퀵 정렬 | O(n log n) | O(n log n) | O(n²) | O(log n) | 불안정 |
| 병합 정렬 | O(n log n) | O(n log n) | O(n log n) | O(n) | 안정 |
평균적으로 퀵 정렬과 병합 정렬이 O(n log n)으로 가장 빠릅니다. 하지만 데이터 특성에 따라 최적 알고리즘이 다릅니다.
같은 값의 요소들이 정렬 후에도 원래 순서를 유지하는 정렬입니다. 버블, 삽입, 병합 정렬이 안정 정렬입니다.
대부분의 프로그래밍 언어는 Tim Sort(병합+삽입 혼합)를 기본 정렬로 사용합니다. JavaScript의 Array.sort()도 Tim Sort 기반입니다.
정렬 알고리즘 시각화 도구는 버블, 선택, 삽입, 퀵, 병합 정렬의 동작 과정을 애니메이션으로 보여줍니다. 배열 크기와 속도를 조절하며 각 알고리즘의 비교 횟수, 교환 횟수, 시간 복잡도를 비교 학습할 수 있습니다.