【问题标题】:Unable to understand why this is not a height balanced binary search tree无法理解为什么这不是高度平衡的二叉搜索树
【发布时间】:2021-11-01 02:31:36
【问题描述】:

我在看 LeetCode 问题110. Balanced Binary Tree:

给定一棵二叉树,判断它是否高度平衡。

对于这个问题,高度平衡的二叉树定义为:

一棵二叉树,其中每个节点的左右子树的高度相差不超过 1。

我有这个输入:

[2,1,3,0,null,null,4,null,null,null,5]

对于这个输入,预期的输出是false。为什么这不是高度平衡的二叉搜索树?我确实查找了高度平衡意味着什么的定义,但也许我不清楚查看这棵树以确定它是否高度平衡的方向。

【问题讨论】:

  • 这个例子出自哪里?哪个消息来源说它不平衡?此外,作为仅供参考,以这种方式将 BST 编码为数组是不寻常的。 (另一方面,二进制经常这样表示。)
  • leetcode 上的问题一般都是这样编码成数组的。我在 leetcode 上的一个算法上使用了这个例子,它检查树是否平衡,它返回 false 。 leetcode.com/problems/balanced-binary-tree
  • 我将该信息添加到您的问题中。

标签: algorithm tree binary-tree binary-search-tree


【解决方案1】:

这个数组表示的树是:

        2
       / \
      1   3
     /     \
    0       4
             \
              5

这个 LeetCode 练习中平衡的定义是:

一棵二叉树,其中每个节点的左右子树的高度相差不超过 1。

对于以 3 为根的树,情况并非如此。它的左右子树的高度相差 2。

【讨论】:

  • 您能就这个答案提供一些反馈吗?是否满足您的需求?
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-12-18
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多