Algorithm Guidecomplexity: O(n + k)
계수 정렬 (Counting Sort)
비교 없이 값의 빈도를 세어 정렬하는 non-comparison 알고리즘입니다. 값의 범위 k가 제한적일 때 O(n+k)의 선형 시간에 안정적(stable)으로 정렬할 수 있습니다.
01 알고리즘 작동 원리 탐색
Interactive Step-by-StepHOVER OR SCROLL
Counting Sort · non-comparison
40
20
70
30
20
60
40
30
계수 정렬을 시작합니다. 비교 없이 값의 빈도를 세어 O(n+k)에 정렬하는 비교 제외(non-comparison) 알고리즘입니다.
Logic Node1 / 10
Live Python
02 쉽게 이해하기
For Everyone🔑비유
각 숫자가 몇 번 나오는지 표로 세어, 그 개수대로 다시 늘어놓는 것.
💡쉽게 말하면
값의 출현 횟수를 세어 누적합으로 위치를 정합니다.
비교 없이 O(n+k)로 빠르지만, 값의 범위가 좁아야 해요.
📍어디에 쓰나
- –정수·좁은 범위 데이터
- –기수 정렬의 내부 단계
03 파이썬 구현 코드
계수 정렬 (Counting Sort)의 핵심 로직을 담은 표준 구현 예시입니다. 가급적 간결하고 읽기 쉬운 코드로 작성되었습니다.
core_implementation.py
04 자주 묻는 질문
FAQ계수 정렬 (Counting Sort)란 무엇인가요?+
비교 없이 값의 빈도를 세어 정렬하는 non-comparison 알고리즘입니다. 값의 범위 k가 제한적일 때 O(n+k)의 선형 시간에 안정적(stable)으로 정렬할 수 있습니다.
계수 정렬 (Counting Sort)의 시간복잡도는 어떻게 되나요?+
계수 정렬 (Counting Sort)의 시간복잡도는 O(n + k) 입니다. 시각화의 단계별 진행을 따라가며 왜 이런 복잡도가 나오는지 직접 확인할 수 있습니다.
계수 정렬 (Counting Sort)은(는) 어디에 사용하나요?+
정수·좁은 범위 데이터, 기수 정렬의 내부 단계.
계수 정렬 (Counting Sort)를 쉽게 비유하면?+
각 숫자가 몇 번 나오는지 표로 세어, 그 개수대로 다시 늘어놓는 것.
→ 정렬 전체 보기Related
