首页 文章

具有n个节点的4-ary树的最小深度是多少?

提问于
浏览
0

问题是:

具有 n 节点的4-ary树的最小深度是多少?

我找不到正确的日志就是答案,我知道对于 n = 1 ,深度是 0 ,如果 2 <= n <= 5 则是 1 ,如果 6 <= n <= 21 则是 2

提前致谢!

1 回答

  • 1

    这是一个数学问题 .

    让我们在高度 hfull 树中的节点数 n 之间找到关系 f . 我会用递归来做它 .

    n = f(h) . 正如你所说,基础很简单: f(0)=1 .

    我们可以看到每个级别都包含 4^i 个节点,其中 i 是距离根的距离 . 因此,在总结了我们的所有级别之后:

    f(h) = 4^h + f(h-1) = 4^h + 4^(h-1) + ... 4^1 + 4^0 = (4^(h+1)-1)/3 =n [sum of geometric series]

    隔离 h

    h = log_4(3n+1) - 1 并且您应该使用 ceil() ,因为您希望它也适用于非完整树 .


    现在很容易推广k-ary,如:

    f_k(h) = (k^(h+1)-1)/(k-1) ,所以 h = ceil(log_k((k-1)n + 1) - 1)

相关问题