Data structures 根节点是内部节点吗?

Data structures 根节点是内部节点吗?,data-structures,tree,binary-tree,nodes,treenode,Data Structures,Tree,Binary Tree,Nodes,Treenode,所以我环顾了一下网络,在stackoverflow中有几个问题是定义: 通常,内部节点是不是叶的任何节点(没有子节点的节点) 非叶节点/非终端节点/内部节点–至少有一个子节点或子节点的阶数不等于0 据我所知,这是一个不是叶子的节点 我即将得出结论,根也是一个内部节点,但它的定义似乎有些模糊,如图所示: 如这幅精彩的图片所示,内部节点是位于树根和树叶之间的节点 如果我们遵循这个定义,那么根节点就不会被算作内部节点。那么根节点是否是内部节点呢?是的,根节点是内部节点。 [更多说明] 根节点

所以我环顾了一下网络,在stackoverflow中有几个问题是定义:

  • 通常,内部节点是不是叶的任何节点(没有子节点的节点)
  • 非叶节点/非终端节点/内部节点–至少有一个子节点或子节点的阶数不等于0
  • 据我所知,这是一个不是叶子的节点
我即将得出结论,根也是一个内部节点,但它的定义似乎有些模糊,如图所示:

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

如果我们遵循这个定义,那么根节点就不会被算作内部节点。那么根节点是否是内部节点呢?

是的,根节点是内部节点。
[更多说明]

根节点永远不会被称为叶节点,即使它是树中唯一的节点。 例如,如果一棵树只有一个节点,那么我们就说它是一棵只有根节点的树,而不是说这棵树只有一个叶节点

由于内部节点指的是非叶节点,且根节点从未被视为叶节点,因此我想说的是,在单节点树的情况下,根节点是内部节点。当只有一个节点(根节点)时,不会出现内部节点的问题。因此,我们可以空洞地说它是一个内部节点。

罗森所著《离散数学及其应用——第七版》中的一句话

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

支持定理:

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

案例1:

      O  <- 1 internal node as well as root
     / \
    O   O <- 2 Leaf Nodes
O
“没有子节点的节点是叶节点或外部节点。非叶节点是内部节点。”

资料来源:“算法简介-第三版”第1176页,最后一行


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

是的,我知道你的意思,我可能会问老师你是否担心这一点。就我个人而言,我不会将根节点称为“内部”节点,但我不知道在这个问题上会达成多少共识……同意。根据你问的人,你会得到不同的答案。你能详细解释一下为什么你认为这是一个错误的答案吗?如果根节点是唯一的节点,则称为叶节点。下面的答案是正确的。
      O <- 0 internal vertices (no internal vertices) , this is leaf