配对堆:正向变体
Pairing heaps: the forward variant
摘要:
配对堆是一种经典的堆数据结构,由Fredman、Sedgewick、Sleator和Tarjan在1986年提出。这是显着的,因为它的简单性和它在实践中的出色表现。配对堆的“魔力”在于删除最小项后发生的重组。所得到的树集合被合并成两轮:从左到右的配对轮,然后是从右到左的累积轮。Fredman等人通过与展开树的巧妙对应表明,在大小为$n$的配对堆中,所有操作都需要$O(\log{n})$分摊时间。他们还提出了一个可以说是更自然的变体,其中配对和累积都在组合的从左到右轮中执行(称为配对堆的前向变体)。在这种情况下,与张开的类比就不成立了,对前向变量的分析也就没有定论了。在本文中,我们表明,插入一个项目和删除的最小值在一个前向变量的配对堆都需要摊销时间$O(\log{n} \cdot 4^{\sqrt{\log{n}}} )$。这是相对于Fredman等三十年前所显示的$O(\sqrt{n})$结合的第一次改进。我们的分析依赖于一个新的势函数,它跟踪堆中的父子秩差。
英文摘要:
The pairing heap is a classical heap data structure introduced in 1986 by Fredman, Sedgewick, Sleator, and Tarjan. It is remarkable both for its simplicity and for its excellent performance in practice. The "magic" of pairing heaps lies in the restructuring that happens after the deletion of the smallest item. The resulting collection of trees is consolidated in two rounds: a left-to-right pairing round, followed by a right-to-left accumulation round. Fredman et al. showed, via an elegant correspondence to splay trees, that in a pairing heap of size $n$ all operations take $O(\log{n})$ amortized time. They also proposed an arguably more natural variant, where both pairing and accumulation are performed in a combined left-to-right round (called the forward variant of pairing heaps). The analogy to splaying breaks down in this case, and the analysis of the forward variant was left open. In this paper we show that inserting an item and deleting the minimum in a forward-variant pairing heap both take amortized time $O(\log{n} \cdot 4^{\sqrt{\log{n}}} )$. This is the first improvement over the $O(\sqrt{n})$ bound showed by Fredman et al. three decades ago. Our analysis relies on a new potential function that tracks parent-child rank-differences in the heap.
机构、总结、中文摘要均由AI分析而来,可能存在错误,请以论文正文为准。