让我们考虑我有一个二次树(每个节点有4个孩子)。 现在,如果树的高度为 d ,我如何计算树中节点的最小和最大数量?
提前谢谢。
答案 0 :(得分:0)
正如二叉树可以使用2^d - 1
计算最大数量的节点一样,二次树也可以使用4^d - 1
。这就是完整的树。
以下内容可证明:n
为t
高度为h
的树h <= n <= 2^h - 1
中的节点数。
然后,log4[n+1] <= h <= n
d
对于最小数量的节点,我们需要知道树是否已满。如果不是,则高度为d
的树的最小节点数将为@coalesce(action('myAction').outputs?.body?.arrayProperty, json('[]'))
。
在确定最小节点数时,了解您是否只关注内部或外部节点可能会有所帮助。
答案 1 :(得分:0)
首先,如果高度为d,则意味着有d + 1行。但我认为有些惯例只是将其视为d行。
第二个节点的最大数量是 4 ^ 0 + 4 ^ 1 + 4 ^ 2 + ... + 4 ^ d =(4 ^(d + 1) - 1)/ 3
最小值更容易,每行有1个节点,有d + 1行voala = d + 1个节点