我需要一点帮助来确定这个功能的Big-Theta运行时间。
int recursive(int n) {
sum = 0;
for (int i = 1; i <= n; i++)
sum++
if (n > 1)
return sum + recursive(n-1);
else
return n;
}
我知道如果for循环不在函数中,这个函数的运行时间是多少,但是循环让我失去了一点点。有什么建议吗?
答案 0 :(得分:1)
for
循环,而不是递归,则函数将为O(n)
。for
循环,那么它也会是O(n)
。n
递归步骤(我们知道O(n)
)和它们每个都有一个O(n)
for
循环n
步骤。所以...这有帮助吗?