二次树中的最小/最大节点数是多少?

时间:2016-05-02 19:11:13

标签: data-structures

让我们考虑我有一个二次树(每个节点有4个孩子)。 现在,如果树的高度为 d ,我如何计算树中节点的最小和最大数量?

提前谢谢。

2 个答案:

答案 0 :(得分:0)

正如二叉树可以使用2^d - 1计算最大数量的节点一样,二次树也可以使用4^d - 1。这就是完整的树。

以下内容可证明:nt高度为h的树h <= n <= 2^h - 1中的节点数。
然后,log4[n+1] <= h <= n d

对于最小数量的节点,我们需要知道树是否已满。如果不是,则高度为d的树的最小节点数将为@coalesce(action('myAction').outputs?.body?.arrayProperty, json('[]'))

在确定最小节点数时,了解您是否只关注内部或外部节点可能会有所帮助。

答案 1 :(得分:0)

binary tree diagram

首先,如果高度为d,则意味着有d + 1行。但我认为有些惯例只是将其视为d行。

第二个节点的最大数量是  4 ^ 0 + 4 ^ 1 + 4 ^ 2 + ... + 4 ^ d =(4 ^(d + 1) - 1)/ 3

最小值更容易,每行有1个节点,有d + 1行voala = d + 1个节点

相关问题