我正在尝试找到上述表达式的重复关系。
我推断出:
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(n-k)
我被困在这里。这是正确的方法吗?在简化方程中没有T的简化递归关系是什么?
答案 0 :(得分:3)
我写了一个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,1 ...... ....
因此当n = 2k&&时,结果可能是2 ^(n / 2)。 0当n = 2k + 1(k属于Z)时
答案 1 :(得分:1)
让我们在展开此函数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)