平衡二叉树的两种定义


26

我已经看到了平衡二叉树的两个定义,它们对我来说看起来有所不同。

  1. 如果二叉树认为每个节点的左子树中的内部节点数与右子树中的内部节点数最多相差1,则该树是平衡的。

  2. 如果对于任何两个叶子,深度差最大为1,则二叉树是平衡的。

是否满足def的每棵树。1也满足def。2?反过来呢?


2
您是否尝试证明任一方向?你有什么发现?
拉斐尔

Answers:


17

定义1.也称为体重平衡 ¹,定义2.也称为身高平衡

身高平衡并不意味着体重平衡。例子是AVL-树和Red-Black-Trees。分别参见此处此处的证据。

不过,体重平衡确实意味着身高平衡。通过归纳(超过高度)可以显示以下更强的事实,可以证明这一点:重量平衡的树在除最深²的所有级别上都是完整的。归纳步骤中的基本论点是,子树的高度差不能超过一个,这是因为-两者都具有归纳假设所要求的属性-然后它们将不会达到权重平衡。


  1. 本文给出了另一个更一般的定义。
  2. 换句话说,这样的高度的树没有叶子的水平ķ是一个完美的树的高度ķ - 1ķķķ-1个

我刚刚意识到,可以使用更强的事实来简化我链接到的证明。
拉斐尔

将这种认识纳入您的答案中也许是一个好主意。
离散蜥蜴

@Discretelizard您的意思是其他答案吗?
拉斐尔

哦,我没有意识到这些链接是计算机科学上的答案,也不是您的答案。好吧,无论如何,我想说的是写下简化的证明可能是一个好主意。然后,您链接的答案似乎是适当的位置。
离散蜥蜴
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.