Sort chooser

고급 정렬은 안정성, 최악 시간, 메모리 기준으로 선택한다

병합, 퀵, 힙 정렬은 평균 성능만으로 고르지 말고 안정성 요구와 추가 메모리 조건을 함께 봐야 합니다.

안정 필요

동점 순서를 보존

동점 순서를 보존해야 하면 병합 정렬이나 안정 sort 구현을 우선합니다.

평균 속도

분할 품질을 관리

메모리 여유가 작고 일반 입력이라면 퀵 정렬의 분할 품질을 봅니다.

최악 방어

상한과 공간을 우선

O(n log n) 상한과 제자리 처리가 중요하면 힙 정렬 후보를 둡니다.

피벗 정책
피벗 정책 정렬·역정렬 입력에서 분할이 한쪽으로 쏠리지 않는지 확인합니다.
병합 공간 임시 배열 비용과 복사 횟수를 입력 크기와 비교합니다.
결과 계약 안정성, 동점 기준, 정렬 방향을 테스트 이름에 드러냅니다.