Back to Search Start Over

Fast and Simple Sorting Using Partial Information

Authors :
Haeupler, Bernhard
Hladík, Richard
Iacono, John
Rozhon, Vaclav
Tarjan, Robert
Tětek, Jakub
Haeupler, Bernhard
Hladík, Richard
Iacono, John
Rozhon, Vaclav
Tarjan, Robert
Tětek, Jakub
Publication Year :
2024

Abstract

We consider the problem of sorting a set of items having an unknown total order by doing binary comparisons of the items, given the outcomes of some pre-existing comparisons. We present a simple algorithm with a running time of $O(m+n+\log T)$, where $n$, $m$, and $T$ are the number of items, the number of pre-existing comparisons, and the number of total orders consistent with the outcomes of the pre-existing comparisons, respectively. The algorithm does $O(\log T)$ comparisons. Our running time and comparison bounds are best possible up to constant factors, thus resolving a problem that has been studied intensely since 1976 (Fredman, Theoretical Computer Science). The best previous algorithm with a bound of $O(\log T)$ on the number of comparisons has a time bound of $O(n^{2.5})$ and is significantly more complicated. Our algorithm combines three classic algorithms: topological sort, heapsort with the right kind of heap, and efficient insertion into a sorted list.

Details

Database :
OAIster
Publication Type :
Electronic Resource
Accession number :
edsoai.on1438544274
Document Type :
Electronic Resource