paper

Fast and Simple Sorting Using Partial Information

arXiv:2404.04552

Abstract

We consider the problem of sorting items, given the outcomes of pre-existing comparisons. We present a simple and natural deterministic algorithm that runs in time and does comparisons, where 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 on the number of comparisons has a time bound of 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- sorting problem: Given and the outcomes of some pre-existing comparisons, output the smallest items in sorted order. The modified algorithm solves the top- sorting problem in minimum time and comparisons, to within constant factors.

Fast and Simple Sorting Using Partial Information · wovepaper