arXiv · 2205.15912
Efficient Algorithms for Sorting in Trees
Abstract
Sorting is a foundational problem in computer science that is typically employed on sequences or total orders. More recently, a more general form of sorting on partially ordered sets (or posets), where some pairs of elements are incomparable, has been studied. General poset sorting algorithms have a lower-bound query complexity of $\Omega(wn + n \log n)$, where $w$ is the width of the poset. We consider the problem of sorting in trees, a particular case of partial orders, and parametrize the complexity with respect to $d$, the maximum degree of an element in the tree, as $d$ is usually much smaller than $w$ in trees. For example, in complete binary trees, $d = \Theta(1), w = \Theta(n)$. We present a randomized algorithm for sorting a tree poset in worst-case expected $O(dn\log n)$ query and time complexity. This improves the previous upper bound of $O(dn \log^2 n)$. Our algorithm is the first to be optimal for bounded-degree trees. We also provide a new lower bound of $\Omega(dn + n \log n)$ for the worst-case query complexity of sorting a tree poset. Finally, we present the first deterministic algorithm for sorting tree posets that has lower total complexity than existing algorithms for sorting general partial orders.
Explore related subjects
Keep this discovery
Jishnu Roychoudhury, Jatin Yadav. 2022-05-31. Efficient Algorithms for Sorting in Trees. https://arxiv.org/abs/2205.15912
Cite the original work for its findings. Save a collection to share your selection of sources.