如何计算根树中的节点和叶子的最小和最大数量?

时间:2019-04-23 07:21:12

标签: graph tree computer-science directed-graph

我正在计算高度为h且度为d的有根树中的节点和叶子的最小和最大数量。

我猜最小的叶子总是1(如果h> = 2)。 节点的最大数量应为G ^(h-2),叶子的数量应为G ^(h-1)。 对于最少的节点,我一无所知。

我要纠正还是缺少什​​么?

1 个答案:

答案 0 :(得分:0)

鉴于树的高度为h,度为d,则适用以下条件。

最少节点数

要构建高度为h的树并尽可能少地包含节点,您将希望每个节点只有一个孩子。因此,您将需要h个节点。

最大节点数

要使用尽可能多的节点,您希望每个节点(叶子除外)都具有尽可能多的子节点,即d子节点。看起来像:

level      nodes at level 

  1              1    (d^0)
  2              d    (d^1)
  3              d^2
  4              d^3

所以节点数是一个类似的数字

num_nodes = d^0 + d^1 + d^2 + d^3 + ....

这是一个几何和,可以计算为:

num_nodes = (1 - d^h)/(1 - d)