随机可熔堆具有一个“混合”操作,然后我们将其用于定义所有其他操作,包括插入。
问题是,具有节点的那棵树的期望高度是多少?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}=k∣hQL≤hQR]P[hQL≤hQR]+P[max{hQL,hQR}=k∣hQL>hQR]P[hQL>hQR]=P[hQR=k∣hQL≤hQR]P[hQL≤hQR]+P[hQL=k∣hQL>hQR]P[hQL>hQR].
所以最后我得到:
E[hQ]=1+∑k{P[hQR=k∣hQL≤hQR]P[hQL≤hQR]+P[hQL=k∣hQL>hQR]P[hQL>hQR]}.
这就是我卡住的地方。我可以看到大致等于(但是我们最多需要) 。但是除了从一开始就没有导致公式化的东西。P[hQL>hQR]12≤12
子树的高度似乎并不独立于我。
感谢帮助。