中文

为什么某些堆支持常数摊还时间的减键操作,而其他堆不支持

数据结构与算法 2013-07-17 v3

摘要

本文给出了一个下界,表明指针模型中仅含堆指针的一类堆算法必须在减键操作上花费Ω(log log n / log log log n)的摊还时间(给定O(log n)摊还时间的提取最小元)。直观上,这个下界表明实现常数时间减键的关键在于能够在O(log n)时间内对O(log n)个元素进行排序;斐波那契堆[M.L. Fredman and R. E. Tarjan. J. ACM 34(3):596-615 (1987)]通过使用桶排序做到了这一点。我们的下界无论增加多少数据都成立;这与Fredman [J. ACM 46(4):473-501 (1999)]的下界形成对比,后者显示了增加位数与减键摊还成本之间的权衡。本文提出了一种新的堆数据结构——排序堆。该堆是对Elmasry [SODA 2009: 471-476]堆的简化,并与之共享O(log log n)的减键摊还时间,但实现更直接,使得我们的下界成立。因此,本文为基于指针的堆提出了一个自然模型,使得自调整结构的摊还运行时间与减键的摊还渐近下界之间仅相差一个O(log log log n)因子。

关键词

引用

@article{arxiv.1302.6641,
  title  = {Why some heaps support constant-amortized-time decrease-key operations, and others do not},
  author = {John Iacono},
  journal= {arXiv preprint arXiv:1302.6641},
  year   = {2013}
}