我正在尝试理解二叉树属性。但我不确定一件事:
def。一棵二进制树说:
如果对于每个节点,二元树是平衡的,左子树中的内部节点数和右子树中的内部节点数最多相差1。
如果任何两个树离开diff,则二叉树是平衡的。深度最多1。
我问我是否这两个def。是等价的,我的意思是确定。 1 statisfy Def。 2,反之亦然? ...对我来说似乎是......但谁可以用例子来解释我这个属性的(非)等价?
谢谢, 帕特里克
答案 0 :(得分:7)
不,两者不相同。
3
/ \
2 7
/ / \
1 5 8
/ \ \
4 6 9
是满足属性2的树,但不是属性1.
属性1表示属性2,但是。
命题:在根据属性1与n
内部节点平衡的二叉树中,所有叶子的深度为
k
if n = 2^k - 1
k
或k+1
如果2^k <= n < 2^(k+1)-1
,并且有深度k+1
。证明:(通过对内部节点数量的归纳)
对于n = 1 = 2^1-1
,深度为1的一个或两个叶子(根深度为0)。
对于n = 2
,一个子树有一个内部节点,该子树中的所有叶子都在深度2,另一个子树是空的或深度为1的叶子。
设n >= 2
并考虑根据属性1与n+1
内部节点平衡的二叉树。
如果n
是偶数,n = 2*m
,则两个子树必须具有m
个内部节点,并且深度属性由归纳假设保留。
如果n = 2*m+1
为奇数,则一个子树有m
个内部节点,另一个m+1
。
如果2^k <= m < 2^(k+1)-1
,带有m
内部节点的子树的深度为k+1
,并且可能由感应假设留在深度k
。包含m+1
内部节点的树也有深度为k+1
的树叶,可能(如果m+1 < 2^(k+1)-1
)深度为k
。
如果m = 2^k - 1
,具有m
内部节点的子树仅在深度k
处离开,而具有m+1
个内部节点的子树在深度处留下{ {1}},可能深度为k+1
。