처리중입니다. 잠시만 기다려주세요.
TTJ 코딩클래스
정규반 단과 자료실 테크 뉴스 코딩 퀴즈
퀴즈 / 알고리즘 / 문제

카운팅 정렬(Counting Sort)이 비교 기반 정렬보다 빠를 수 있는 이유는?

쉬움 freeCodeCamp
보기 및 정답
A 카운팅 정렬은 비교 기반 정렬과 비교하여 항상 모든 경우에 더 빠른 속도로 동작한다
B 원소 간 비교를 하지 않고 각 값의 출현 횟수를 세어 정렬하므로 O(n+k) 시간에 동작하기 때문이다
C 카운팅 정렬은 메모리를 비교 기반 정렬보다 훨씬 더 적게 사용하여 캐시 효율이 높기 때문에 빠르게 동작한다
D 카운팅 정렬은 멀티 스레드 기반의 병렬 처리를 내부적으로 지원하기 때문에 빠르다

해설

카운팅 정렬은 값의 범위(k)가 작을 때 원소 간 비교 없이 각 값의 등장 횟수를 세어 정렬합니다. 시간 복잡도가 O(n+k)로 비교 기반 정렬의 하한인 O(n log n)보다 빠를 수 있지만, 값의 범위가 크면 메모리와 시간이 비효율적입니다.

코딩, 제대로 배우고 싶다면?

개념 확인은 퀴즈로, 실력은 실전 프로젝트로.
투더제이 코딩클래스에서 시작하세요.

정규반 살펴보기