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吗?
发布于 2021-07-14 07:00:50
如果这是二叉树直径的定义,那么显然需要两个叶节点。因此,如果树只有一片叶子,根据这个定义,直径是不确定的。
但是,这个定义看起来很可疑,因为它使直径成为一条路径。
BT中两个叶节点间的最长路径
当然,这甚至与以下内容不一致:
直径= max((lht + rht + 1),max (ld,rd));
..。因为它将直径定义为一个数字,而不是路径。
因此,至少这一定义应该是:
BT中两个叶节点间的最长路径--长度
此外,所提供的公式只给出一个递归关系,没有基本情况。如果没有基本情况,这个公式就没有定义任何东西。
所以我想强调的是你的“定义”很不稳定.
将其与图的直径(不一定是树)的定义进行比较:
这个定义给出的结果与您引用的定义相同,只要它涉及到至少有两片叶子的树。但是当树只有一片叶子时,这些定义就不兼容了。根据上述来源的定义,斜交二叉树的直径将是根与(唯一)叶之间的距离。
边界情况是树只有一个节点,即根。在这种情况下,图的直径将为0(根据上面的引号)。
发布于 2021-07-14 04:39:37
一棵斜交树只有一片叶子,所以在这种情况下,直径不会被定义,因为它是一棵树的两片叶子之间的最长距离。
https://stackoverflow.com/questions/68371897
复制相似问题