【问题标题】:What is the diameter of skew binary trees( either left skew of right skew tree)?斜二叉树的直径是多少(右斜树的左斜)?
【发布时间】:2021-09-23 01:38:03
【问题描述】:
Diameter of binary tree is defined as:-
  The longest path between 2 leaf nodes in BT.
  let left height=lht, right height=rht,
      left left diameter=ld , right diameter= rd;
  then 
      diameter= max((lht + rht + 1), max (ld,rd));

但是在斜树中只有一个叶节点,所以我们如何获得斜树的直径。 是0吗?

【问题讨论】:

  • 你对直径这个定义的来源是什么?

标签: algorithm data-structures binary-tree


【解决方案1】:

如果这是二叉树直径的定义,那么你显然需要两个叶子节点。所以如果树只有一片叶子,根据这个定义,直径是不确定的。

这个定义看起来很可疑,因为它使直径成为路径

BT中2个叶子节点之间的最长路径

当然,这甚至与以下内容不一致:

diameter = max((lht + rht + 1), max (ld,rd));

...因为这将直径定义为数字,而不是路径。

所以至少定义应该是这样的:

BT中2个叶子节点之间最长路径的长度

此外,提供的公式仅给出递归关系,没有基本情况。如果没有基本情况,这个公式就不能定义任何东西。

所以我要强调的是,你的“定义”非常不稳定......

将此与以下图形直径的定义(不一定是树)进行比较:

  • Wolfram:

    图的图直径是任意两个图顶点之间的“最长最短路径”(即最长的图测地线)的长度 [...]

  • Wikipedia:

    图的直径 ? 是 [...] 任何一对顶点之间的最大距离 [...]。要找到图的直径,首先要找到每对顶点之间的最短路径。这些路径的最大长度是图形的直径。

  • Geeks for Geeks:

    图的直径是这对顶点之间的最大距离。 [...] 解决方法是找到所有路径,然后找到所有路径中的最大值。

  • Tutorials Point:

    一个顶点到所有其他顶点的所有距离中的最大值被认为是图G的直径。

只要它涉及一棵至少有两片叶子的树,这个定义就会给出与你引用的定义相同的结果。但是当树只有一片叶子时,这些定义就不兼容了。根据上述来源的定义,倾斜二叉树的直径将是根与(唯一)叶子之间的距离。

边界情况是当树只有一个节点,即根。在这种情况下,该图的直径将为 0(根据上面的引用)。

【讨论】:

    【解决方案2】:

    缩小一棵歪斜的树只有一片叶子,因此在这种情况下不会定义直径,因为它是一棵树的两片叶子之间的最长距离。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2021-12-30
      • 2020-02-13
      • 2019-08-12
      • 2012-03-02
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多