如何在递归调用中找到带有加法的递归树的高度?

时间:2018-09-03 05:05:27

标签: recursion tree

我试图找到

定义的递归树的高度
$T(n)=T(\frac{n}{5}+36)+n$

我发现在内部$i$处,递归调用等效于:

$$\frac{n}{5^i}+\sum_{k=0}^{i-1}{\frac{36}{5^k}}=\frac{n}{5^i}+36\sum_{k=0}^{i-1}{\left(\frac{1}{5}\right)^k}=\frac{n}{5^i} +36\left(\frac{1-\left(\frac{1}{5}\right)^i}{1-\frac{1}{5}}\right)=\frac{n-45}{5^i}+45$$

注意:最后一步是将很多方程操作浓缩为一个,但是我仔细检查了它在Wolfram Alpha上的一致性。

但是当我尝试像这样递归调用$=1$时找到树$ i $的高度时:

$$\frac{n-45}{5^i}+45=1$$
After some manipulations:
$$5^i=\frac{45-n}{44}$$
$$i=\log_5{\frac{45-n}{44}}$$

但这意味着$n$必须是$\leq45$,这没有任何意义!

我在哪里错了?

1 个答案:

答案 0 :(得分:0)

您的表达是正确的:

enter image description here

但是您已经假定n <= 1的停止条件。

这可以实现吗?不适用于n > 45 –随着i的增加,分数项将消失,因此输入对n = 45渐近。您得出的条件恰好告诉您– n仅在1(即分数项为负)时才能达到n < 45

当然,您可以通过将停止条件设为n <= C,其中C > 45来解决此问题。深度为:

enter image description here