Skip to main navigation Skip to search Skip to main content

Fast and Simple Sorting Using Partial Information

  • Bernhard Haeupler
  • , Richard Hladík
  • , John Iacono
  • , Václav Rozhoň
  • , Robert E. Tarjan
  • , Jakub Tětek

Research output: Contribution to journal › Article › peer-review

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 O(m+logT) time and does O(logT) 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 O(logT) on the number of comparisons has a time bound of O(n2.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.

Original languageEnglish (US)
Article number41
JournalAlgorithmica
Volume88
Issue number3
DOIs
StatePublished - Jun 2026

All Science Journal Classification (ASJC) codes

  • General Computer Science
  • Computer Science Applications
  • Applied Mathematics

Keywords

  • Partial orders
  • Sorting under partial information
  • Topological sort
  • Working-set heaps

Fingerprint

Dive into the research topics of 'Fast and Simple Sorting Using Partial Information'. Together they form a unique fingerprint.

Cite this