我很难找到这句话的有力证据。我知道如何确定二项式树的数目是通过使用n的二元表示来确定的。
例如,13个元素在二进制中是1101,2^{3}+2^{2}+2^{0}所以需要3个二叉树,而ln(13)+1=3.56>3
我只是不知道如何证明它以对数(n)为界一般来说,我在涉及对数(n)的算法中与许多概念作斗争。
有人能为这句话提供一个简洁明了的证据吗?

最佳答案

如果所需的二项式树的数目是由n的二进制表示中的1的数目给出的,则1的数目由最多(lgn)+1的二进制数字的数目限定(其中lgn是以2为底的对数,即lgn=ln(n)/ln(2))。这样就得到了o(log n)的大o界。

关于algorithm - 证明具有n个元素的二项式堆中的二项式树的数量最多为O(log n),我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/21858490/

10-10 01:01