【发布时间】:2012-04-13 20:57:58
【问题描述】:
我需要找出这个函数的时间复杂度(以 theta 为单位):
int x = 0;
for (int i=1; i < n ; i++) {
for (double j=i; j <= n ; j+=sqrt(i)) {
++x;
}
}
我知道外循环进行 n-1 次迭代,而内循环进行 (n-i)/sqrt(i) 迭代,所以我需要计算 i=1 的 sigma 到 (n-i)/sqrt(i) 的 n-1 )。知道该怎么做吗?
编辑: 假设 sqrt() 在 O(1) 中运行。
【问题讨论】:
-
“在 theta 方面”是什么意思?
-
参考这个页面:en.wikipedia.org/wiki/… - 上面写着 Big Theta。
-
"in terms of theta" 意味着您想要找到复杂度作为 theta 的函数,但没有变量 theta。我假设您的意思是说您想以“n”的形式找到 Big Theta 时间复杂度
标签: nested complexity-theory sqrt