RS 정렬 설계와 분석
초록
본 논문은 비교 기반 안정 정렬 알고리즘인 RS 정렬을 제안한다. RS 정렬은 배열 원소 쌍만을 비교하여 전이 관계를 활용함으로써 불필요한 비교를 제거한다. 알고리즘의 시간·공간 복잡도를 이론적으로 분석하고, 다양한 입력 분포에 대해 실험을 수행해 퀵 정렬과 성능을 비교한다.
상세 분석
RS 정렬은 “전이 관계”를 핵심 아이디어로 삼는다. 예를 들어 a₁ < a₂, a₂ < a₃이면 a₁ < a₃이라는 사실을 이용해 a₁과 a₃의 직접 비교를 생략한다. 이를 구현하기 위해 알고리즘은 여러 “패스”를 수행한다. 첫 번째 패스에서는 인접 원소 쌍(i, i+1)을 비교해 부분 순서를 만든다. 두 번째 패스에서는 거리 d=2인 원소 쌍(i, i+2)을 비교하고, 이렇게 거리 d를 점진적으로 늘려가며 기존에 확립된 관계를 활용한다. 결과적으로 전체 배열이 정렬될 때까지 O(log n) 단계의 패스를 거치며, 각 단계에서 수행되는 비교 횟수는 O(n)이다. 따라서 최악·평균·최선 경우 모두 Θ(n log n) 비교 연산을 보장한다.
안정성 측면에서 RS 정렬은 동일한 키 값을 가진 원소들의 상대 순서를 보존한다. 비교 시 “<”만을 사용하고 “≤”를 사용하지 않음으로써, 동등 원소는 교환되지 않는다. 이는 데이터베이스 레코드 정렬 등 순서 유지가 중요한 응용에 유리하다.
공간 복잡도는 입력 배열 외에 추가적인 보조 배열이나 스택을 요구하지 않으므로 O(1)이다. 이는 퀵 정렬의 인플레이스 구현과 동일하지만, 퀵 정렬은 피벗 선택에 따라 최악 경우 O(n²) 비교가 발생할 수 있다. 반면 RS 정렬은 전이 관계를 이용해 피벗 개념이 없으므로 이러한 위험이 사라진다.
이론적 분석 외에 논문은 실험적 평가를 수행한다. 무작위 균등 분포, 역순, 거의 정렬된, 중복 비율이 높은 다섯 가지 입력 유형에 대해 10⁶ 크기의 배열을 대상으로 실행 시간을 측정했다. 결과는 대부분의 경우 RS 정렬이 퀵 정렬보다 5 %~15 % 정도 빠른 것을 보여준다. 특히 중복 비율이 높은 데이터에서는 전이 관계가 많이 형성되어 비교 횟수가 크게 감소함을 확인했다. 그러나 역순 입력에서는 두 알고리즘의 차이가 미미했으며, 최악 경우에도 RS 정렬이 퀵 정렬보다 약간 뒤처지는 경향을 보였다.
알고리즘의 한계도 논의된다. 전이 관계를 효과적으로 활용하려면 비교 결과를 저장하거나 빠르게 조회할 수 있는 메커니즘이 필요하지만, 구현에서는 단순히 현재 패스의 비교만을 이용한다. 따라서 데이터가 매우 큰 경우 캐시 효율성이나 메모리 대역폭에 민감할 수 있다. 또한, 현재 설계는 1차원 배열에만 적용 가능하며, 다차원 데이터나 외부 메모리 정렬에는 추가 연구가 필요하다.
종합하면 RS 정렬은 전이 관계를 통한 비교 감소라는 새로운 관점을 제시함으로써, 이론적 Θ(n log n) 시간 복잡도와 O(1) 공간 복잡도를 유지하면서 실험적으로 퀵 정렬과 경쟁할 수 있는 성능을 보여준다. 향후 연구에서는 전이 관계를 저장·재활용하는 데이터 구조를 도입하거나, 병렬화 전략을 적용해 대규모 데이터에 대한 확장성을 검증할 필요가 있다.