根节点是内部节点吗?

Posted

技术标签:

【中文标题】根节点是内部节点吗?【英文标题】:Is the root node an internal node? 【发布时间】:2013-01-01 19:01:07 【问题描述】:

所以我浏览了网络,*** 中有几个问题是定义:

通常,内部节点是任何不是叶子的节点(没有子节点) 非叶/非终端/内部节点 - 至少有一个度数不等于 0 的子节点或后代节点 据我了解,它是一个不是叶子的节点。

我正要得出结论,根也是一个内部节点,但它的定义似乎有些模糊,如下所示:

What is an "internal node" in a binary search tree?

如图所示,内部节点是位于树根和叶子之间的节点

如果我们遵循该定义,那么根节点将不会被视为内部节点。那么根节点是不是内部节点呢?

【问题讨论】:

是的,我知道你的意思,我可能会问教练你是否担心。就我个人而言,我不会将根称为“内部”节点,但我不知道你会对此达成多少共识...... 同意。根据你问的人,你会得到不同的答案。 【参考方案1】:

书中的陈述:离散数学及其应用 - 第 7 版 作者:Rosen,

有子节点的顶点称为内部顶点。根是内部顶点,除非它是图中唯一的顶点,在这种情况下它是叶子。

支持定理:

对于任何正整数 n,如果 T 是具有 n 个内部顶点的满二叉树,则 T 有 n + 1 个叶子,总共有 2n + 1 个顶点。

案例一:

      O  <- 1 internal node as well as root
     / \
    O   O <- 2 Leaf Nodes

案例 2:平凡树

      O <- 0 internal vertices (no internal vertices) , this is leaf

【讨论】:

【参考方案2】:

恕我直言,当您谈论具有多个节点的树时,我们可以说根节点是内部节点。当只有一个节点(根节点)时,不会出现内部节点的问题。因此我们可以说它是一个内部节点。

【讨论】:

【参考方案3】:

是的,根节点是一个内部节点。 [更多解释]

根节点永远不会被称为叶节点,即使它是树中唯一存在的节点。 例如。如果一棵树只有一个节点,那么我们说它是一棵只有根节点的树,我们永远不会说这棵树有一个叶子节点。 由于内部节点意味着非叶节点,并且因为根节点从不被视为叶节点,所以我会说在单节点树的情况下 根节点是内部节点

【讨论】:

您能否详细说明为什么您认为这是一个错误的答案? 如果一个根节点是唯一的节点,它就被称为叶子。下面的答案是正确的。【参考方案4】:

“没有子节点的节点是叶子节点或外部节点。非叶子节点是内部节点。”

来源:“Introduction To Algorithms-3rd edition”页码 1176,最后一行。

所以,root 也是一个内部节点,除非它是树的唯一节点。

【讨论】:

以上是关于根节点是内部节点吗?的主要内容,如果未能解决你的问题,请参考以下文章

oracle 递归 通过子节点查询根节点

E/AccessibilityBridge:VirtualView 节点不能是根节点。 (扑)

当我向它添加元素时,根节点会丢失吗?

easyui中tree树默认展开第一个根节点?

将节点添加到树 - 为啥根没有被初始化?

Dijit 树,如何提高根下有 500 个子节点的大树的性能