【问题标题】:Can a binary tree with one empty subtree be a balanced binary tree? If so, when?具有一个空子树的二叉树可以是平衡二叉树吗?如果有,什么时候?
【发布时间】:2017-06-23 04:33:35
【问题描述】:

平衡二叉树被定义为任何节点的两个子树的高度相差不会超过一的树。

我的问题是,如果其中一个子树不存在或基本上子树为 NULL,该怎么办

【问题讨论】:

  • 那么在这种情况下,差异将是 1。仍然属于定义
  • 那么链表是平衡二叉树吗?
  • 是什么让你认为一个子树 null 的差异不止一个?

标签: algorithm binary-tree


【解决方案1】:

一个空子树的长度为 0。因此,如果一个子树为空,则另一个子树的深度必须为 0 或 1。例如这些是平衡树

   A            A
  / \          / \
     B

但这不是

   A
  / \
     B
    / \
   C   D

因为 A (B(C,D)) 的右子树深度为 2,而左子树的深度为 0。

(B(C,D)) 子树本身是平衡的,但它所在的整个树却不是。

【讨论】:

  • 所以单个节点的深度为1
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-03-22
  • 2010-09-13
  • 2018-08-30
相关资源
最近更新 更多