树状结构

王朝百科·作者佚名  2010-06-30  
宽屏版  字体: |||超大  

树状结构

定义:树状结构是一个或多个节点的有限集合,它满足:

n有一个特定的点称为根节点(root),

n其余的节点分成n³0个独立的集合T1, …, Tn,每个集合也都是一个树状结构。我们讲T1, …, Tn为根节点的子树(subtree)。

节点与边:节点代表某项资料,而边是指由一节点到另一节点的分支。

祖先(ancestor)即点与子孙(descendant)节点:如图,A是所有节点的祖先,所有节点是A的子孙;而F是K与L的祖先,K与L是F的子孙。

父节点(parent node)与子节点(children node):如图,B直接连到E与F且只差一个阶度,则B为E与F的父节点,E与F为B的子节点。

兄弟节点(sibling node):拥有同一父节点的子节点。如:E与F。

叶节点(leaf node)或终点节点(terminal node):没有子节点的节点。如:J、K等。

非叶节点(non-leaf node)或非终点节点(non-terminal node):有子节点的节点。 如:A、B、F等等。

根节点(root node):没有父节点的节点,为树的源头。 如:A。

分支度(degree):指一个节点有几个子节点。 如:A为3、B为2、C为1、M为0。

阶度(level):为树中的第几代,而根节点为第一代,阶度为1。

高度(height):指一节点往下走到叶节点的最长路径。 如:A为3、F为1、L为0。

深度(depth):指从根节点到某一节点的最长路径。如:C为1、M为3。

树林(forest):由多个互斥树(disjoint tree)所组成。 如图将A移去便成为树林。

二元树(Binary tree)

树状结构

二元树里每一节点的最大分支度为2。 如下右(a)、(b)、(c)。

图(a)称做左斜树(left skew tree),每一节点的右子树皆为为集合。

图(c)称为满枝二元树(fully binary tree),含有节点数共为2k-1。

图(b)称为完整二元树(complete binary tree),节点排列顺序同满枝二元树,但节点数小于2k-1 。

二元哪种的第i阶最多有2i-1个节点。

如果有一n个节点的完整二元树,以循序的方式编号,如上图(c)。 则任何一个节点i,1 ≤i≤n,具有以下的特性:

若i= 1,则i为根节点,没有父节点。 而i≠ 1,其父节点为ëi/2û(表小于i/2的最大整数)。

若2i≤n,则i的左子节点在2i。 但若2i>n,则i没有左子节点。

若2i+1 ≤n,则i的右子节点在2i+1。 但若2i+1 >n,则i没有右子节点。

节点i在第[log2 ]+1阶。

 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
 
© 2005- 王朝百科 版权所有