已知树中非叶子节点的度数和数量,如何计算树中叶子节点的个数?

树的一些定义

1、一棵树的度树指其中节点的度数最大值。

2、一个节点的度数为该节点的子节点数量,显然叶子节点度数为0。

3、树中的边和节点的关系有:节点数=边数+1。

也就是说每条边代表一个度数,而树的根节点例外,所以树的总节点数=总度数+1。


示例

已知树中非叶子节点的度数和数量,如何计算树中叶子节点的个数?

1、节点 A 的度数为3,节点 C 的度数为1,节点 F 的度数为0。

2、这棵树的度数为 A 节点的度数,为3。


题目

已知一棵树中度数为1的节点有4个,度数为2的节点有3个,度数为3的节点有2个,度数为4的节点有2个。

则该树中有多少个叶子结点?


求解

这里假设树中有 S 个结点,根据定义可知,树的总度数则为 S-1;

再假设树中有 X 个叶子结点,则能得出式子

S = X + 4 + 3 + 2 + 2
S-1 = 0*X + 1*4 + 2*3 + 3*2 + 4*2

两个方程式,求解两个未知数,这是必然能够解出来的,求得

S = 25
X = 14

因此,树中有 14 个叶子结点。

已知树中非叶子节点的度数和数量,如何计算树中叶子节点的个数?

上一篇:win+r 快速启动应用程序


下一篇:pojWindow Pains(拓扑排序)