【问题标题】:Balanced vs Unbalanced Binary Tree - Clarification Needed平衡与不平衡二叉树 - 需要澄清
【发布时间】:2019-12-06 02:47:11
【问题描述】:

我需要澄清一下,这可能是一个非常愚蠢的问题,我已经进行了研究,但无法找到我的问题的明确答案。我的问题是,平衡二叉树和不平衡二叉树之间有哪些属性差异? 我在一次采访中被问到这个问题(java 问题),我已经向面试官解释了他提到的差异他想知道区分两者的属性(二叉树 - 不平衡与平衡)。

如果有人可以为我澄清这一点,我将不胜感激。

【问题讨论】:

  • 您想具体说明什么?您是否找到了一些您不理解的解释平衡二叉树的资源?
  • “属性”到底是什么意思?
  • 这有点模糊,可能是实现细节,操作的时间复杂度,定义树是否“平衡”的正式条件......我建议调查所有这些,并且如果在面试中再次出现此类问题,请要求面试官澄清。
  • 我明白了,非常感谢您解释这一点。我一定会调查这些以防万一它再次弹出。会的,再次感谢!
  • 只有一个“属性”可能不同,那就是每个节点下的高度之间的差异,在平衡树的情况下受到约束,否则不受约束,反过来在平衡树的情况下导致性能上限。这是一个措辞不佳的问题,如果面试官真的这么说的话。

标签: java binary-tree


【解决方案1】:

通过“属性”,我相信面试官是在询问 Big-O 性能复杂性。

对于平衡树,访问1O(log n)
对于不平衡树,访问1O(n)(最坏情况)。

这是因为从排序数据构建的不平衡树实际上与链表相同。

两种树的空间复杂度相同。

1) 访问包括查找、插入和删除操作。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2010-09-13
    • 2018-08-30
    • 1970-01-01
    • 1970-01-01
    • 2015-07-04
    • 2015-01-08
    相关资源
    最近更新 更多