当前位置: X-MOL 学术arXiv.cs.DS › 论文详情
Our official English website, www.x-mol.net, welcomes your feedback! (Note: you will need to create a separate account there.)
Selectable Heaps and Optimal Lazy Search Trees
arXiv - CS - Data Structures and Algorithms Pub Date : 2020-11-23 , DOI: arxiv-2011.11772
Bryce Sandlund, Lingyi Zhang

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, where we define $\log(x)$ as $\max(\log_2(x), 1)$. We first show heap-ordered tree selection (Kaplan et al., SOSA '19) can be applied on the heap-ordered trees of the classic Fibonacci heap to support the extraction in $O(k \log(n/k))$ amortized time. We then show selection is possible in a priority queue with optimal worst-case guarantees by applying heap-ordered tree selection on Brodal queues (SODA '96), supporting the operation in $O(k \log(n/k))$ worst-case time. Via a reduction from the multiple selection problem, $\Omega(k \log(n/k))$ time is necessary if insertion is supported in $o(\log n)$ time. 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$ 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, runtimes of the lazy search tree can be made worst-case in the general case of two-sided gaps. The presented data structure makes fundamental use of soft heaps (Chazelle, J. ACM '00), biased search trees, and efficient priority queues, approaching the theoretically-best data structure for ordered data.

中文翻译:

可选堆和最佳懒惰搜索树

我们展示了有效优先级队列的$ O(\ log n)$时间提取最小函数可以推广为$ O(k \ log(n / k))$时间中$ k $最小元素的提取,其中将$ \ log(x)$定义为$ \ max(\ log_2(x),1)$。我们首先显示堆排序树选择(Kaplan等人,SOSA '19)可以应用于经典斐波那契堆的堆排序树,以支持$ O(k \ log(n / k))$的提取。摊销时间。然后,我们通过在Brodal队列上应用堆排序的树选择(SODA '96),证明在具有最佳最坏情况保证的优先级队列中进行选择,并支持最坏的$ O(k \ log(n / k))$操作案件的时间。通过减少多项选择问题,如果在$ o(\ log n)$时间中支持插入,则需要$ \ Omega(k \ log(n / k))$时间。然后,我们将结果应用于惰性搜索树(Sandlund和 Wild,FOCS '20),基于可选堆创建了新的间隔数据结构。这样可以提供最佳的$ O(B + n)$时间懒惰搜索树性能,从而将插入复杂度降低到$ O(\ log(n / | \ Delta_i |))$时间之间。在其他情况下,用作优先级队列时,也可以执行$ O(1)$时间合并操作。如果使用Brodal队列,则在双面间隙的一般情况下,惰性搜索树的运行时可能会变得最坏。提出的数据结构基本利用了软堆(Chazelle,J。ACM '00),有偏向的搜索树和有效的优先级队列,接近了有序数据的理论上最好的数据结构。将插入复杂度降低到$ O(\ log(n / | \ Delta_i |))$时间。在其他情况下,用作优先级队列时,也可以进行$ O(1)$时间合并操作。如果使用Brodal队列,则在双面间隙的一般情况下,惰性搜索树的运行时可能会变得最坏。提出的数据结构基本利用了软堆(Chazelle,J。ACM '00),有偏向的搜索树和有效的优先级队列,接近了有序数据的理论上最好的数据结构。将插入复杂度降低到$ O(\ log(n / | \ Delta_i |))$时间。在其他情况下,用作优先级队列时,也可以进行$ O(1)$时间合并操作。如果使用Brodal队列,则在两侧间隙的一般情况下,惰性搜索树的运行时可能会变得最坏。提出的数据结构基本利用了软堆(Chazelle,J。ACM '00),有偏向的搜索树和有效的优先级队列,接近了有序数据的理论上最好的数据结构。
更新日期:2020-11-25
down
wechat
bug