根节点是内部节点吗?

时间:2013-01-18 04:58:29

标签: data-structures tree binary-tree nodes treenode

所以我浏览了网页,这里有一些关于stackoverflow的问题是定义:

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

我即将得出结论,根也是一个内部节点,但它的定义似乎有些模棱两可,如下所示:

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

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

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

4 个答案:

答案 0 :(得分:13)

书中的陈述:离散数学及其应用 - 第7版罗森说,

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

支持性定理:

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

案例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

答案 1 :(得分:0)

是根节点是内部节点 [更多解释]

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

答案 2 :(得分:0)

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

答案 3 :(得分:0)

  

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

来源:“算法概论第三版”,第1176页,最后一行。

因此,root也是内部节点,除非它是树的唯一节点。