1
int foo(int n)
{
if(n==0)
return 1;
int sum = 0;
for(int i = 0;i < n;i++)
sum += foo(n-1);
return sum;
}
最近我在學Big O notation。 有人可以給我一個關於如何通過使用大O符號以及如何呈現此函數的運行時來確定此循環函數的運行時的想法。循環函數的運行時間
假設我假設n = 3,那是你提到的遞歸樹嗎? http://imgur.com/a/lusID – CDY
不,但接近。考慮for循環,遞歸調用sum + = foo(n-1)不依賴於循環變量i。因此,在樹中的每個節點上,我們分支n次,但每個葉子都用n-1調用。 http://imgur.com/a/K9g8z – gue
謝謝,我明白了。你解釋的很容易理解。 – CDY