这个递归关系是O(无穷大)吗?

时间:2019-09-03 21:26:28

标签: math big-o discrete-mathematics recurrence master-theorem

这个递归关系是O(无穷大)吗?

T(n)= 49 * T(n / 7)+ n

没有给出基本条件。

我尝试使用大师定理求解,答案是Theta(n ^ 2)。但是,当使用递归树求解时,该解决方案成为n *(7 + 7 ^ 2 + 7 ^ 3 + ...)的无穷级数 有人可以帮忙吗?

3 个答案:

答案 0 :(得分:1)

如果尝试递归方法:

T(n)= 7 ^ 2 T(n / 7)+ n = 7 ^ 2 [7 ^ 2 T(n / v ^ 2)+ n / 7] + n = 7 ^ 4 T(n / 7 ^ 2)+ 7n + n

= ... = 7 ^(2i)* T(n / 7 ^ i)+ n * [7 ^ 0 + 7 ^ 1 + 7 ^ 2 + ... + 7 ^(i-1)]

i增长时,n/7^i变得更接近1,如另一个答案所述,T(1)是一个常数。因此,如果我们假设T(1) = 1,则:

  • T(n / 7 ^ i)= 1
  • n / 7 ^ i = 1 => i = log_7(n)

所以

T(n)= 7 ^(2 * log_7(n))* T(1)+ n * [7 ^ 0 + 7 ^ 1 + 7 ^ 2 + ... + 7 ^(log_7(n) -1)]

=> T(n)= n ^ 2 + n * [1 + 7 + 7 ^ 2 + ... +(n-1)] = n ^ 2 + c * n = theta(n ^ 2)

答案 1 :(得分:1)

n = 7^m。复发变为

T(7^m) = 49 T(7^(m-1)) + 7^m,

S(m) = 49 S(m-1) + 7^m.

同质部分给出

 S(m) = C 49^m

一般的解决方法是

S(m) = C 49^m - 7^m / 6

T(n) = C n² - n / 6 = (T(1) + 1 / 6) n² - n / 6.

答案 2 :(得分:0)

通常,当没有为递归关系提供基本情况时,将假定基本情况为T(1)= 1或沿这些方向的东西。这样,递归最终终止。

需要考虑的事情-如果递归树无限深,则只能从递归树中获得无限级数。尽管没有在问题中指定任何基本情况,但是您可以在假设存在一个基本情况的情况下进行操作,并且当输入变得足够小而无法定义“足够小”时,递归就会停止。基于此,递归在什么时候停止?从那里开始,您应该可以将无穷级数转换为有限长度的级数,这将为您提供答案。

希望这会有所帮助!

相关问题