词条 | 树状结构 |
释义 | 定义:树状结构是一个或多个节点的有限集合,它满足: 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阶。 |
随便看 |
|
百科全书收录4421916条中文百科知识,基本涵盖了大多数领域的百科知识,是一部内容开放、自由的电子版百科全书。