
: 입력 데이터의 범위가 제한적일 때, 각 데이터의 출현 빈도를 계산하여 이를 기반으로 정렬하는 비교 기반이 아닌 정수형 데이터 정렬 알고리즘
N은 배열의 크기, M은 배열의 최댓값이라 가정할 때 :
계수 정렬 시각화 :
https://www.geeksforgeeks.org/counting-sort-visualization-using-javascript/
정렬 알고리즘 시간 복잡도 비교 :
| 알고리즘 | 최악(Worst) | 최선(Best) | 평균(Average) |
|---|---|---|---|
| 버블 정렬(Bubble Sort) | O(n²) | O(n²) | O(n²) |
| 선택 정렬(Selection Sort) | O(n²) | O(n²) | O(n²) |
| 삽입 정렬(Insertion Sort) | O(n²) | O(n) | O(n²) |
| 퀵 정렬(Quick Sort) | O(n²) | O(nlogn) | O(nlogn) |
| 병합 정렬(Merge Sort) | O(nlogn) | O(nlogn) | O(nlogn) |
| 힙 정렬(Heap Sort) | O(nlogn) | O(nlogn) | O(nlogn) |
| 기수 정렬(Radix Sort) | O(n) | O(n) | O(n) |
| 계수 정렬(Counting Sort) | O(n) | O(n) | O(n) |