References & Citations
Computer Science > Data Structures and Algorithms
Title: Selectable Heaps and Optimal Lazy Search Trees
(Submitted on 23 Nov 2020 (v1), last revised 10 Jan 2022 (this version, v3))
Abstract: We show the $O(\log n)$ time extract minimum function of efficient priority queues can be generalized to the extraction of the $k$ smallest elements in $O(k \log(n/k))$ time (we define $\log(x)$ as $\max(\log_2(x), 1)$.), which we prove optimal for comparison-based priority queues with $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(k \log(n/k))$ amortized and worst-case time, respectively. We additionally show the deletion of $k$ elements or selection without extraction can be performed on both heaps, also in $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)$ time lazy search tree performance, lowering insertion complexity into a gap $\Delta_i$ from $O(\log(n/|\Delta_i|) + \log \log n)$ to $O(\log(n/|\Delta_i|))$ time. An $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.
Submission history
From: Bryce Sandlund [view email][v1] Mon, 23 Nov 2020 22:30:32 GMT (21kb)
[v2] Sat, 2 Oct 2021 21:01:20 GMT (26kb)
[v3] Mon, 10 Jan 2022 03:19:11 GMT (36kb)
Link back to: arXiv, form interface, contact.