Основные понятия
주어진 비교 결과를 활용하여 알 수 없는 전체 순서를 효율적으로 찾는 알고리즘을 제시한다.
Аннотация
이 논문은 알 수 없는 전체 순서를 가진 항목들을 정렬하는 문제를 다룬다. 주어진 일부 비교 결과를 활용하여 전체 순서를 찾는 알고리즘을 제안한다.
입력은 방향성 그래프 G로 주어지며, 각 정점은 항목을, 각 간선은 주어진 비교 결과 v < w를 나타낸다. 목표는 G의 정점들을 정렬하는 것이다.
제안하는 알고리즘 "topological heapsort"는 다음과 같다:
그래프 G의 위상 정렬을 수행하되, 현재 소스 정점들을 힙에 저장하여 다음 최소 정점을 효율적으로 찾는다.
이 알고리즘은 O(m + n + log T) 시간 복잡도와 O(n + log T) 비교 횟수를 가진다.
이 알고리즘의 성능을 분석하기 위해 그래프 G의 간선 집합을 기반으로 interval graph I를 정의하고, 이를 이용해 log T에 대한 하한을 도출한다.
이 하한을 working-set 힙의 특성과 연결하여 topological heapsort의 효율성을 증명한다.
추가로 "topological heapsort with insertion" 알고리즘을 제안하여 비교 횟수의 선형 항을 제거한다. 이 알고리즘은 O(m + n + log T) 시간 복잡도와 O(log T) 비교 횟수를 가진다.
부록에서는 이 알고리즘을 활용하여 log T를 상수 배 근사할 수 있는 방법을 제시한다.
Статистика
G의 최장 경로 길이 ℓ은 (n-ℓ)/2 ≤ log T를 만족한다.