English

Dynamic Partial Sorting

Data Structures and Algorithms 2014-04-21 v3

Abstract

The dynamic partial sorting problem asks for an algorithm that maintains lists of numbers under the link, cut and change value operations, and queries the sorted sequence of the kk least numbers in one of the lists. We first solve the problem in O(klog(n))O(k\log (n)) time for queries and O(log(n))O(\log (n)) time for updates using the tournament tree data structure, where nn is the number of elements in the lists. We then introduce a layered tournament tree data structure and solve the same problem in O(logφ(n)klog(k))O(\log_\varphi^* (n) k\log (k)) time for queries and O(log(n)log2log(n))O\left(\log (n)\cdot\log^2\log (n)\right) for updates, where φ\varphi is the golden ratio and logφ(n)\log_\varphi^*(n) is the iterated logarithmic function with base φ\varphi.

Keywords

Cite

@article{arxiv.1402.2712,
  title  = {Dynamic Partial Sorting},
  author = {Jiamou Liu and Kostya Ross},
  journal= {arXiv preprint arXiv:1402.2712},
  year   = {2014}
}
R2 v1 2026-06-22T03:06:20.902Z