【发布时间】:2017-10-20 17:00:54
【问题描述】:
我想知道如何解决这段代码的主定理:
unsigned long fac (unsigned long n ) {
if (n == 1 )
return 1;
else
return fact(n-1)*n;
}
所以基于我只有 1 次称自己为 a=1 的事实。除了该函数调用之外,没有其他任何东西,所以 O(n) = 1 也是如此。现在我正在为我的b挣扎。通常的一般公式是:
T(n) = a*T(n/2) + f(n)
在这种情况下,我不划分主要问题。新问题只需要解决 n-1 个问题。 b 现在是什么?因为我的重复是:
T(n) = 1*T(n-1) + O(1)
既然我不知道确切的 b,我现在如何使用主定理?
【问题讨论】:
标签: math recursion computer-science recurrence master-theorem