【发布时间】:2010-12-25 06:43:35
【问题描述】:
以下c函数的复杂度是多少?
double foo (int n) {
int i;
double sum;
if (n==0) return 1.0;
else {
sum = 0.0;
for (i =0; i<n; i++)
sum +=foo(i);
return sum;
}
}
请不要只发布复杂性,您能帮助我了解如何去做吗?
编辑:这是考试中提出的客观问题,提供的选项是 1.O(1) 2.O(n) 3.O(n!) 4.O(n^n)
【问题讨论】:
-
这是一个在考试中提出的客观问题,提供的选项是 1. O(1) 2.O(n) 3.O(n!) 4.O(n^n)
-
@Bunny Rabbit,可能是你的老师不熟悉 O 表示法 3.O(n!) 4.O(n^n) 是真的,它也是 O(2^n) 和实际上是 Teta(2^n)
-
我猜关键是要选择最紧的界限
-
嗯,你没有对 O(n!) 给出任何解释 :( :(
-
@Bunny Rabbit,查看我的更新。
标签: c algorithm complexity-theory