[논문 리뷰] bsort: A theoretically efficient non-comparison-based sorting algorithm for integer and floating-point numbers
bsort는 부호 있는/부호 없는 정수 및 부동 소수점 값을 대상으로 하는 제자리의 비교 비기반 정렬기로, O(nw) 시간과 O(w) 공간을 가지며, 통합된 binary-quickSort–style 비트 분할 접근법을 사용한다. 그것은 작은 워드 크기에서 이론적 이점을 보이고 하드웨어 고려 사항과 함께 실증 분석을 제공한다.
This paper presents bsort, a non-comparison-based sorting algorithm for signed and unsigned integers, and floating-point values. The algorithm unifies these cases through an approach derived from binary quicksort, achieving $O(wn)$ runtime asymptotic behavior and $O(w)$ auxiliary space, where $w$ is the element word size. This algorithm is highly efficient for data types with small word sizes, where empirical analysis exhibits performance competitive with highly optimized hybrid algorithms from popular libraries.
연구 동기 및 목표
- 정수를 포함한 부동 소수점 데이터에 대해 통합된 비교 비기반 정렬기를 제안한다.
- 비트 마스크로 구분하고 모든 s 비트를 처리하는 이진 퀵소트 기반 코어를 제시한다.
- 부호 정수 및 IEEE-754 부동 소수점 표현에 방법을 적용하는 방법을 보인다.
- 정확성에 대한 형식적 증명을 제공하고 시간/공간 복잡도 및 실용적 성능을 분석한다.
- 미 empirical 결과와 미래 최적화를 안내할 건 architecture의 병목 현상을 논의한다.
제안 방법
- 진통 a binary quicksort core를 제자리의 비트 분할 절차로 통합된 하나의 규칙으로 적응한다.
- singlePassBSort를 정의해 범위를 비트 마스크로 분할하고 오름차순/내림차순 지침을 제공한다.
- 부호 정수에 대해 첫 패스에서 초기 정렬 방향을 반전시키는 두 단계의 처리로 부호 정수를 다룬다.
- 부호를 먼저 하고, 지수, 마지막으로 가짓수( significand )의 3단계 위계로 부동 소수점 값을 정렬한다. 증명은 정확성을 확립한다.
- 부호 정수 및 부동 소수점 표현에 대한 자세한 정확성 증명을 제공한다(정리 2 및 정리 3).
- bsort를 64-비트 환경에서 introsort, spreadsort, ska_sort와 비교한 경험적 벤치마크를 제공한다.

실험 결과
연구 질문
- RQ1단일의 통합된 제자리 비교 비기반 알고리즘이 부호 있는/부호 없는 정수 및 부동 소수점 값을 정확히 정렬할 수 있는가?
- RQ2단일 알고리즘의 이론적 시간 및 공간 복잡도는 워드 크기 w와 요소 수 n에 대해 어떠한가?
- RQ3일반적인 워드 크기에 대해 하이브리드 비교 비기반 및 비교 기반 정렬에 비해 알고리즘은 경험적으로 어떻게 성능을 보이는가?
- RQ4실용적 성능에 영향을 미치는 건축적 병목은 무엇이며 향후 최적화가 이를 어떻게 개선할 수 있는가?
주요 결과
| Algorithm | Runtime | Memory | In-place | Comp. |
|---|---|---|---|---|
| Introsort∗ | O(n log n) | O(log n) | Yes | Yes |
| Spreadsort∗ | O(n(k/s + s)) | O(n) | No | No |
| ska_sort∗ | O(n w) | O(d · k) | Yes | No |
| Quicksort | O(n log n) | O(log n) | Yes | Yes |
| bsort | O(n w) | O(w) | Yes | No |
- bsor t 정렬은 O(nw) 시간과 O(w) 보조 공간에서 작동한다.
- 작은 워드 크기에서 경험적 결과는 spreadsort 및 ska_sort와 같은 최적화된 하이브리드와 경쟁력이 있다.
- 이 알고리즘은 제자리이며 비교 없이 비트 분할을 사용하지만 재귀 깊이는 워드 크기 w와 같다.
- 부호 정수는 올바른 분할을 유지하기 위해 초기 패스 방향을 반전시켜야 한다.
- 부동 소수점 정렬은 숫자 순서를 보존하기 위해 부호 → 지수 → 가짓수의 위계를 사용한다(증명 제공).
- 벤치마크 결과는 n의 선형 스케일링을 보여주고 더 큰 워드 크기에서 성능을 제한하는 분기, 캐시, 스택 관련 병목을 드러낸다.

더 나은 연구,지금 바로 시작하세요
연구 설계부터 논문 작성까지, 연구 시간을 획기적으로 줄여보세요.
카드 등록 없음 · 무료 플랜 제공
이 리뷰는 AI가 만들고, 인간 에디터가 검토했습니다.