随机可熔堆-预期高度


9

随机可熔堆具有一个“混合”操作,然后我们将其用于定义所有其他操作,包括插入。

问题是,具有节点的那棵树的期望高度是多少?n

Gambin和Malinkowski的定理1,随机可融合优先级队列(SOFSEM论文集,计算机科学讲座,第1521卷,第344-349页,1998;PDF)给出了该问题的答案。但是,我不明白为什么可以这样写:

E[hQ]=12((1+E[hQL])+(1+E[hQR])).

对我来说,树的高度是

hQ=1+max{hQL,hQR},

我可以扩展为:

E[hQ]=1+E[max{hQL,hQR}]=1+kP[max{hQL,hQR}=k].

可以使用总概率定律重写两个子树的高度的最大值等于k的概率:

P[max{hQL,hQR}=k]=P[max{hQL,hQR}=khQLhQR]P[hQLhQR]+P[max{hQL,hQR}=khQL>hQR]P[hQL>hQR]=P[hQR=khQLhQR]P[hQLhQR]+P[hQL=khQL>hQR]P[hQL>hQR].

所以最后我得到:

E[hQ]=1+k{P[hQR=khQLhQR]P[hQLhQR]+P[hQL=khQL>hQR]P[hQL>hQR]}.

这就是我卡住的地方。我可以看到大致等于(但是我们最多需要) 。但是除了从一开始就没有导致公式化的东西。P[hQL>hQR]1212

子树的高度似乎并不独立于我。

感谢帮助。

Answers:


4

在本文中,不是高度。这是在完整的二叉树中从根部随机走出的长度(它们坚持每片叶子都是“零”),因此它们具有的表达是正确的。hQ

另外,您可以避免感应。在深度为的特定叶子处结束的概率仅为。因此,预期的步行时间为d2d

leaves(Q)depth()2depth()

分布的熵。|leaves(Q)|


1
您能否详细解释为什么我不必使用归纳法?我同意预期长度的公式。我只是不明白为什么它应该是O(logn)?您对字符串分布的熵表示什么意思?
MateuszWyszyński16年

因为众所周知,一组大小为的分布的熵通过均匀分布而最大化,在这种情况下为。nlogn
路易
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.