Algorithm 如何求解T(n)=5T(n/2)和#x2B;n^2,T(1)=2递归

Algorithm 如何求解T(n)=5T(n/2)和#x2B;n^2,T(1)=2递归,algorithm,recursion,big-o,Algorithm,Recursion,Big O,如何在不使用主定理的情况下确定T(n)=5T(n/2)+n^2,T(1)=2的渐近上界 下面是我的步骤,但我不知道如何处理最后的求和,因此无法找到这个递归函数的大O答案 T(n) = 5T(n/2) + n^2 = 5^2 T(n/2^2) + 5(n/2)^2 + n^2 = 5^3 T(n/2^3) + 5^2(n/2^2)^2 + 5(n/2)^2 + n^2 = ... = 5^i T(n/2^i) + 5^i(n/2^i)^2 + ...+ 5^

如何在不使用主定理的情况下确定T(n)=5T(n/2)+n^2,T(1)=2的渐近上界

下面是我的步骤,但我不知道如何处理最后的求和,因此无法找到这个递归函数的大O答案

T(n) = 5T(n/2) + n^2
     = 5^2 T(n/2^2) + 5(n/2)^2 + n^2
     = 5^3 T(n/2^3) + 5^2(n/2^2)^2 + 5(n/2)^2 + n^2
     = ...
     = 5^i T(n/2^i) + 5^i(n/2^i)^2 + ...+ 5^2(n/2^2)^2 + 5(n/2)^2 + n^2
     = 5^i T(n/2^i) + n^2 Sum of k from 0 to i, (5/4)^k
如何处理求和?谢谢

如何处理求和

你在总结中描述的是一个例子。表格中的金额:

 n
---
\     i
/    a
---
i=0
有一个已知的解决方案:

 n
---           n+1
\     i      a    - 1
/    a     = --------
---            a - 1
i=0
这是你的总数:

从0到i的k之和(5/4)^k

等于:

4 * ((5/4)^(i+1) - 1)

我们知道,
i
仅限于log2n,这应该足以解决该方程。

谢谢,但我认为“a”应该在0和1之间才能使用该方程。但是,在这种情况下,“a”是5/4,我们不能用这个方程来求和。@JustABadProgrammer:不,这是一个条件,如果你想要无穷和,这是有意义的,因为如果a>=1,那么这个和只会变大,从而导致无穷大,但是如果你有一个“迭代器”的界,那么不管a,正如维基页面上所写的那样。您可以使用给定的
a
(如5/4)和给定的
n
(如3)对其进行测试。然后我们得到4*((5/4)^4)-1)=5.765625,实际上是1+5/4+25/16+125/64。