데이터를 특정한 기준에 정렬하기 위해 사용하는 알고리즘입니다.

정렬이 사용되는 핵심 유형

대표적인 정렬의 종류

대표적인 정렬 라이브러리를 성능에 따라서 비교하면 다음과 같습니다.

O(n²)의 시간 복잡도 (정렬할 자료의 수가 늘어나면 제곱에 비례해서 증가)

O(n log n)의 시간 복잡도

정렬 알고리즘 평균 시간 복잡도 공간 복잡도 특징
선택 정렬 O(n²) O(n) 아이디어가 간단하나, 효율은 낮다.
삽입 정렬 O(n²) O(n) 데이터가 거의 정렬되어 있을 때는 가장 빠름
퀵 정렬 O(n log n) O(n) 대부분의 경우 가장 적합
충분히 빠르다
계수 정렬 O(n + k) O(n + k) 특정한 값을 가지는 데이터의 개수를 카운트하는 방법
데이터의 크기가 한정되어 있는 경우에만 사용이 가능, 매우 빠르게 동작