我有一个具有时间复杂性的递归函数f(n)
O(f(n))= O(组合(n,n / 2)* f(n / 2)^ 2)
其中组合(a,b)表示组合nuber a b。
我试图简化它,但没有足够的数学技能。我唯一能说的就是
组合(n,n / 2)= 2 ^ n *(gamma(n / 2 + 1/2)/(sqrt(1/2)* gamma(n / 2 + 1)))
答案 0 :(得分:0)
我没有计算复杂性的经验,但在我看来这是有序的n!
。至少用n=2^i
来计算特例。整数combination(n, n/2)
等于n!/((n/2)!)^2
。
f(2^i) = (2^i)! / ((2^(i-1))!)^2 * f(2^(i-1))^2
= (2^i)! / ((2^(i-1))!)^2 * (2^(i-1))! / ((2^(i-2))!)^2)^2 * f(2^(i-2))^4
= (2^i)! / ((2^(i-2))!)^4 * f(2^(i-2))^4
...
= (2^i)! / (1!)^(2^i) = n!
答案 1 :(得分:0)