English

Selectable Heaps and Optimal Lazy Search Trees

Data Structures and Algorithms 2022-01-11 v3

Abstract

We show the O(logn)O(\log n) time extract minimum function of efficient priority queues can be generalized to the extraction of the kk smallest elements in O(klog(n/k))O(k \log(n/k)) time (we define log(x)\log(x) as max(log2(x),1)\max(\log_2(x), 1).), which we prove optimal for comparison-based priority queues with o(logn)o(\log n) time insertion. We show heap-ordered tree selection (Kaplan et al., SOSA '19) can be applied on the heap-ordered trees of the classic Fibonacci heap and Brodal queue, in O(klog(n/k))O(k \log(n/k)) amortized and worst-case time, respectively. We additionally show the deletion of kk elements or selection without extraction can be performed on both heaps, also in O(klog(n/k))O(k \log(n/k)) time. Surprisingly, all operations are possible with no modifications to the original Fibonacci heap and Brodal queue data structures. We then apply the result to lazy search trees (Sandlund & Wild, FOCS '20), creating a new interval data structure based on selectable heaps. This gives optimal O(B+n)O(B+n) time lazy search tree performance, lowering insertion complexity into a gap Δi\Delta_i from O(log(n/Δi)+loglogn)O(\log(n/|\Delta_i|) + \log \log n) to O(log(n/Δi))O(\log(n/|\Delta_i|)) time. An O(1)O(1) time merge operation is also made possible when used as a priority queue, among other situations. If Brodal queues are used, all runtimes of the lazy search tree can be made worst-case.

Keywords

Cite

@article{arxiv.2011.11772,
  title  = {Selectable Heaps and Optimal Lazy Search Trees},
  author = {Bryce Sandlund and Lingyi Zhang},
  journal= {arXiv preprint arXiv:2011.11772},
  year   = {2022}
}

Comments

Accepted for publication in SODA 2022

R2 v1 2026-06-23T20:27:42.585Z