一棵以节点i为根的、大小为n的子树上,i节点的子树大小至多为2n/3(最坏情:底层恰好半满的时候)

来源:互联网 发布:巴黎 知乎 编辑:程序博客网 时间:2024/06/05 04:08
 
这里应该是讨论完全二叉树,规定总size为n,要求根的左子树的最大size。(由于右子树size总是<=左子树size)那么显然,观察最底层节点数目为0, 1, 2...的情况,显然半满的时候左子树达到了最大。以下求此时左子树的大小:设底层半满时节点树为x,则再加x个节点,就是满树:n + x = 2x * 2 - 1 = 满树size可得n = 3x - 1满树时,左子树节点数 = (满树size - 1) / 2 = 2x -1 ~= 2n / 3