Fast and Simple Sorting Using Partial Information

Read full text
Authors: Bernhard Haeupler, Richard Hladík, John Iacono, Václav Rozhoň, Robert Endre Tarjan, Jakub Tětek
Cited by: 0
References: 54

Abstract

Abstract We consider the problem of sorting n items, given the outcomes of m pre-existing comparisons. We present a simple and natural deterministic algorithm that runs in $$\textrm{O}(m+\log T)$$ O ( m + log T ) time and does $$\textrm{O}(\log T)$$ O ( log T ) comparisons, where T is the number of total orders consistent with the pre-existing 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 $$\textrm{O}(\log T)$$ O ( log T ) on the number of comparisons has a time bound of $$\textrm{O}(n^{2.5})$$ O ( n 2.5 ) and is more complicated. Our algorithm combines three classic algorithms: topological sort, heapsort with the right kind of heap, and efficient search in a sorted list. It outputs the items in sorted order one by one. It can be modified to stop early, thereby solving the important and more general top- k sorting problem: Given k and the outcomes of some pre-existing comparisons, output the smallest k items in sorted order. The modified algorithm solves the top- k sorting problem in minimum time and comparisons, to within constant factors.

Fields of Study & Subjects

Neural Networks and Applications

Publication details

Journal / source
Algorithmica
Publisher
Springer Science and Business Media LLC
Volume
88
Issue
3
Publication date
5 May 2026
Language
EN