2008-11-05 624 views
32

我在互联网上寻找术语“内部节点”的定义。我找不到一个简洁的定义。我所看到的每个源代码都使用该术语,而没有对其进行定义,而且这种用法并没有对内部节点的实际内容产生适当的定义。什么是二叉搜索树中的“内部节点”?

这里有两个地方我一直在寻找主要是: http://planetmath.org/encyclopedia/ExternalNode.html假设内部节点是具有两个子树是不是空节点,但并没有说在原来的树是什么节点是内部与外部。

http://www.math.bas.bg/~nkirov/2008/NETB201/slides/ch06/ch06-2.html似乎暗示内部节点只存在于适当的二叉树中,并且不会产生关于它们的有用信息。

究竟是什么一个内部节点!?

+1

是根节点的内部节点? – 2011-10-25 10:40:04

回答

68
 I   ROOT (root is also an INTERNAL NODE, unless it is leaf) 
/ \ 
    I  I  INTERNAL NODES 
/ /\ 
o  o o EXTERNAL NODES (or leaves) 

如图所示,内部节点是位于树根和树叶之间的节点。请注意,除了它是树的唯一节点的情况外,根也是内部节点。

在其中一个站点中所说的关于一个内部节点必须有两个孩子的原因是该树是一个完整的二叉树,而不是该节点是内部的。

+0

在图中,你可以让你的一个内部节点只有一个孩子吗?这将有助于澄清定义。 – 2008-11-05 16:56:08

+1

可爱 - 这是FAR优于当前最高评分的答案。 – 2008-11-05 17:09:45

+0

这是我最初的直觉,但我有一位教授和一本不同意的书。 – evizaer 2008-11-05 17:38:18

15

据我了解,它是一个不是叶的节点。

+1

这也是我对内部节点的理解。也许它可能不包括根。 – 2008-11-05 16:49:13

+0

内部节点确实排除根。 – 2008-11-05 16:56:00

1

通常,一个内部节点是不是叶(无子节点的节点)的任何节点。

在扩展的二叉树(也是比较树)中,内部节点都有两个孩子,因为每个内部节点对应一个必须进行的比较[计算机编程艺术(TAoCP)第3卷排序和搜索,讨论和请参阅第5.3.1节,第181页(第2版)。顺便说一句,使用这些树来表示消除锦标赛的配对(和byes)在本材料的第5.4.1节中讨论。]

Vinko的图反映了这种区别,尽管根节点也总是内部节点或叶节点,除了是没有父节点的唯一节点之外。

Knuth对树的信息结构和属性的处理有一个更广泛的讨论[TAoCP vol.1 Fundamental Algorithms,讨论树中的路径长度在2.3.4.5节, 399-406(ed.3)包括练习(本书后面的许多练习)]。

注意到二叉搜索树(其中内部节点也包含单个值以及最多有两个孩子)有些不同[TAoCP第3卷第6.2.2节]。尽管如此,命名仍然有效。

0

有至少一个孩子的节点。

0

雅内部节点不包括根。一个完整的二叉树作为术语告诉每个内部节点应该有确切的2个节点。但是,在一个简单的二进制树中的每个内部节点具有atmost 2个节点即它不能包含多于2个节点但小于2是permisable

1

二进制树可以具有零个,一个节点并且可以具有最多两个节点。二叉树本身具有左节点和右节点。

4

一个内部节点(也被称为内部节点,索引节点的简称,或者分支节点)是具有子节点树的任意节点。同样,外部节点(也称为外部节点,叶节点或终端节点)是没有子节点的任何节点。

快速简单。

2

内部节点:其不是根和具有至少一个子节点。

5

最upvoted答案不正确。据朱Gersting 数学结构计算机科学,内部节点是“没有孩子的节点称为树的叶子; 所有非叶子被称为内部节点

因此,例如(I =内部节点): I /\ * I /\ * *

8

从 “算法导论”,由托马斯达Cormen编辑:

无子节点的节点被称为 '叶节点'。非叶节点是“内部节点” 。

0

内部节点 - 至少有一个孩子的节点。 外部节点 - 没有子节点的节点。

1

内部节点或内部节点是具有子节点,并且因此不是叶节点或根部和叶节点之间的中间节点树的任意节点称为内部节点