【发布时间】:2018-04-13 22:53:02
【问题描述】:
如何计算像这样有点复杂的递归算法的复杂度 在这种情况下,something(0,n) 的复杂度是多少
void something(int b, int e) {
if (b >= e) return;
int a = 0;
for(int i=b; i < e; i++)
a++;
int k = (b+e)/2;
something(b, k);
something(k+1, e);
}
我试图分析这个算法,认为它的复杂度是 n*ln(n) 但仍然无法得到正式的证明。
【问题讨论】:
-
怎么样?除非 b = e,否则我可以看到。哦等等没关系。有人声称会有一个无限循环,但我只能看到如果 b = e
标签: time-complexity code-complexity