【发布时间】:2021-03-29 05:29:02
【问题描述】:
一棵树 T 的直径是下列量中最大的一个:
- T 的左子树的直径
- T 的右子树的直径
- 叶子之间穿过 T 根的最长路径(这可以 从 T 的子树的高度计算)
来源:https://www2.cs.duke.edu/courses/spring00/cps100/assign/trees/diameter.html
但是,它没有说明没有至少两片叶子的树的直径是多少,比如只有根的树,或者 1 -> 2?是 0、未定义、无穷大还是负无穷大?
【问题讨论】:
-
据我所知,只有根树应该是 0,1->2 应该是 1
-
@AbhinavMathur 你能引用一个来源吗?你所说的不能来自我发布的定义。
-
我没有正式的出处,只是使用定义的第3点
-
最长的简单路径(对于树可以假设它是简单路径)是一个介于 0 和 n-1 之间的数字,给定具有 n 个节点的树或图。因此,根据您给出的描述,具有一个或两个节点的树显然在叶子之间的最长路径为 0。源不是必需的,它在上述定义中是正确的。
标签: algorithm data-structures binary-tree