您能告诉我什么是平衡的二叉树吗?我读了很多解释,但仍然没有理解。 可以说完整的二叉树就是平衡的二叉树吗?

根据维基百科:

平衡的二叉树对于叶节点具有最小可能的最大高度(aka深度),因为对于任何给定数量的叶节点,叶节点都位于最大可能的高度。

但是我仍然没有得到这个定义,请您向我解释什么是平衡的二叉树,并举一些例子。

===============>>#1 票数:0 已采纳

平衡的二叉树是这样一种 ,其中每个叶子离根的距离不超过每个其他叶子节点的一定数量。 例如, AVL树是平衡的二进制搜索树,其中:

  1. 它的左右子树是平衡的。
  2. 每个节点的左右子树的深度之差不超过1。

以下是AVL树:

       r
     /   \
    a     b
   / \     
  c   d     

关于您的第一个问题,是的,一个完整的二叉树是一个平衡的二叉树,但并非相反。 完整的二叉树是一个二叉树,其中每个级别(可能最后一个级别除外)都被完全填充,并且所有节点都尽可能地靠左。 再举一个例子:

       r
     /   \
    a     b
   / \   / 
  c   d e   

  ask by Mona Chatila translate from so

未解决问题?本站智能推荐:

4回复

完整二叉树与平衡二叉树的区别

平衡二叉树和完整二叉树有什么区别? 说每个完整的二叉树都是平衡树是真的吗? 反过来呢?
2回复

平衡二叉树与平衡二叉树

对于这些操作中的每一个,平衡的二叉树是否比平衡的二叉树更快地完成任务? 在树中找到最小的项目。 我认为平衡的BST比平衡的二叉树要快得多,因为您可以一直向左移动并找到最小的项目。 我认为应该是O(log n)。 创建树中小于某个值v的所有元素的列表。 对于2
1回复

完整的二叉树和完善的二叉树定义

我对二叉树类型几乎没有疑问。 完全二叉树:二叉树是完全二叉树,如果各级都完全填满,除了可能最后一级和最后一级具有左尽可能所有钥匙。 几乎每个完整的二叉树的例子都是这样给出的。最后一个节点中只有一个是左子节点。 没关系。 我的问题:下列树也是完整的二叉树吗? 我也
1回复

无法平衡二叉树

我是算法新手,正在学习二叉树及其平衡方法。 我面临的问题是,即使平衡了二叉树之后,树的高度仍与以前相同。 在我看来,平衡(具有平衡的空间)后,二叉树的高度会发生变化。 以下是我的代码:- 我不确定代码是否正确平衡了我的二叉树。 我花了几个小时来调试它,但无法提出解决方案/解决方案
1回复

生成平衡的二叉树

我不确定这是否在做应做的事情。 我的目标是根据一组值生成平衡的二叉树。 请让我知道这是否正确。 注意:不是平衡的二叉搜索树,而是平衡的二叉树。 在主要... 我得到的结果是这样的: 2的孩子是4和5。问题是为什么它7进入下一个级别。
1回复

检查二叉树是否平衡

我在一本书中看到了这个问题(破解编码面试)。 建议的代码是: 我不明白的部分是为什么我们需要返回isBalanced(root.left)&& isBalanced(root.right)。 仅检查高度并在高度大于1时返回false,否则返回true是否足够?
2回复

这个二叉树可以平衡吗?

我试图实现代码来实现平衡二进制搜索树的方式(强力),我发现有一个(树的)情况,似乎它无法平衡。 树是 你可以明显地发现这棵树的正确高度比它的左高度大得多,所以我绕着'6'左转树,然后新的树将是 然后它变成左高度远大于它的右高度,所以在下一步中我必须在节点'10'周围向右(向后)
3回复

平衡二叉树深度

当给定多个节点时,我们可以通过执行log2(n)来计算二叉树的最小深度 其中n是节点数。 如果为最大深度(例如12个节点)绘制树,则可以得出最大深度只能为4,以便保持树平衡。 对不起,ascii艺术。 有谁知道在给定节点数的情况下能够计算二叉树最大深度的Forumla?
4回复

左平衡的二叉树

我正在阅读一本关于数据结构的书,它说左侧平衡二叉树是一棵树,其中叶子只占据最后一级的最左边位置。 这对我来说似乎有点模糊。 这是否意味着叶子只在根的左侧,并且分布在整个水平,或者只留在整个树的左侧。 究竟什么构成左平衡? 我不确定我的猜测是否涵盖了任何答案,所以如果有人可以提供帮
1回复

平衡二叉树逻辑

问题是确定给定的树(以A为根)是否平衡。 我写了这段代码。 在一个测试用例上失败了。 逻辑有什么问题?