【发布时间】:2020-09-17 06:01:09
【问题描述】:
int coffee(int n) {
int s = n * n;
for (int q = 0; q < n; q++)
s = s - q;
for (int q = n; q > 0; q--)
s = s - q;
return s + 2;
}
int mocha(int n) {
int r = 0;
for (int i=0; i<=n; i = i+16)
for (int j=0; j<i; j++)
r++;
return r;
}
int fun(int n) {
int j=0;
for (int k = 16; coffee(k) * mocha(k) - k <= n; k+=16) {
j++;
cout << "I am having so much fun with asymptotics!" << endl;
}
return j;
}
-
如何计算“有趣”函数的最坏情况渐近运行时间? 我确定咖啡的运行时间为 $\Theta(n)$,而 mocha 的运行时间为 $\Theta(n^2)$ 但是我该去哪里呢?
-
计算函数的返回值。假设 n>2 ,并且 n 是一个完美的正方形。 我有点不确定从哪里开始回答这个问题。
【问题讨论】:
标签: java runtime complexity-theory