我试图找出上述表达式的重复关系。
我推断:
T(n) = C*T(n-2)
T(n-2) = 2C*T(n-4)
T(n-4) = 3C * T(n-6)
..。
T(n) = k/2C *T()
我被困在这里了。这是正确的做法吗?简化方程中没有T的简化递推关系是什么?
发布于 2017-10-14 23:38:19
让我们在扩展此函数的m时间时观察其行为:
T(n) = 2^2 * T(n - 2*2)
= 2^3 * T(n - 2*3)
= 2^4 * T(n - 2*4)
= ...
= 2^m * T(n - 2m)当n是:
n - 2m最终等于零,这意味着最大值是m = n / 2,而T(n) = 2^(n/2)T(n) = 2^(...) * T(1) = 0如果我们想把它写在一个表达式中:
T(n) = (1 - n + floor[n/2]) * 2^(n/2)发布于 2017-10-14 23:32:08
我编写了一个python程序并发现了这种关系:
def rec(num):
if num == 0:
return 1
elif num == 1:
return 0
else:
return 2 * rec(num - 2)经过几次测试,我发现了这样的规则:
指数2,3,4,5,6,7,8. 结果2,0,4,0,8,0,16…
因此,当n= 2k &0时,当n= 2k +1 (k属于Z)时,结果可能是2^(n/2)。
https://stackoverflow.com/questions/46750223
复制相似问题