下面的函數在大O符號方面的增長率是多少?以下函數的增長率是多少
f (n) = Comb(1000,n) for n = 0,1,2,…
int Comb(int m, int n)
{
int pracResult = 1;
int i;
if (m > n/2) m = n-m;
for (i=1; i<= m; i++)
{
pracResult *= n-m+i;
pracResult /= i;
practicalCounter++;
}
return pracResult;
}
遞歸:
int combRecursive (int m, int n)
{
recursiveCounter++;
if (n == m) return 1;
if (m == 1) return n;
return combRecursive(n-1, m) + combRecursive(n-1, m-1);
}
我猜想N^2 ???我可能是錯誤的,雖然...我一直在努力弄清楚事情是如何有效的...
謝謝先進。
我收回我的話。如果你寫的是正確的,你的函數在O(1)中運行。 – 2013-03-09 05:30:26
需要更多信息梳() – Amitd 2013-03-09 05:33:51
我很抱歉。我會很快更新這個問題。 – JLott 2013-03-09 05:34:42