arXiv · 1809.00954
A class of orders with linear? time sorting algorithm
Abstract
In this article, we give a precise mathematical meaning to `linear? time' that matches experimental behaviour of the algorithm. The sorting algorithm is not our own, it is a variant of radix sort with counting sort as a subroutine. The true result of this article is an efficient universality result for lexicographic order, or more generally for some linear extensions of the partial order `Next': `if current items are equal, compare next items'. We define new classes of orders: (Finite width) Tree Structured Orders. We show that an instance of a finite width tree structured order can be converted in linear time and space to an instance of lexicographic order. The constants implied by the `nextification' algorithm are small (around 3 for real world orders). The class of finite width tree structured orders contains finite orders ({0, 1}, int32, int64, ..., float, double, ...), and orders constructed from them on a tree structure. In particular, unbounded integers, strings with arbitrary collation, and all orders used for sorting SQL queries are finite width tree structured orders.
Explore related subjects
Keep this discovery
Laurent Lyaudet. 2018-09-04. A class of orders with linear? time sorting algorithm. https://arxiv.org/abs/1809.00954
Cite the original work for its findings. Save a collection to share your selection of sources.