递归函数的时间复杂性

时间:2018-02-08 17:06:00

标签: recursion time-complexity combinatorics gamma-function

我有一个具有时间复杂性的递归函数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)))

2 个答案:

答案 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)

相关问题