完整的K-ary树

时间:2014-01-23 03:21:41

标签: algorithm tree time-complexity asymptotic-complexity

我在n个节点上有一个完整的19-ary树。我标记所有具有其所有非根祖先都是最老的或最年幼的子(包括root)的属性的节点。我必须给出标记节点数量的渐近界限。

我注意到了

  • 第一级有一个标记节点(root(
  • 第二名:19
  • 第三名:2 * 19
  • 第四名:2 ^ 2 * 19
  • 第五名:2 ^ 3 * 19
  • ...
  • k-th:2 ^(k-2)* 19

我的方法是在最后一级找到标记节点的数量,然后使用递归来查找一个完整的19-ary的标记节点数量。

description

但这不太有用。我走的是正确的道路吗?

1 个答案:

答案 0 :(得分:1)

使用复发过于复杂。

1 + sum{i = 2 .. k} 19 ( 2 ^ (k-2) ) = 1 + 19 sum{j = 0 .. k-2} 2^j

求和只是增加了2的幂范围。sum{j=0..n-1}2^j = 2^n-1很明显。想想二进制数。任何2的幂都有一个1位。减1,你得到两个所有较低权力的总和!

所以使用这个身份,我们有

1 + 19 ( 2^(k-1) - 1 )

对于测试,我们可以尝试三级树,k = 3,产生1 + 19(4 - 1)= 1 + 19(3)。这与您作为模式显示的系列相匹配。