单选题:设 $$0\le i,k
设 $$0\le i,k<n$$,下面这段代码的时间复杂度是:
if (i>k) {
for (j=i; j<n; j++)
a[j] = a[j-k]+1;
}
else {
for (j=i; j>0; j--)
a[j] = a[k-j]+2;
}
A.$$O(n)$$
B.$$\Theta (kn)$$
C.$$\Omega (n)$$
D.$$\Theta (n\log n)$$
答案:A
if (i>k) {
for (j=i; j<n; j++)
a[j] = a[j-k]+1;
}
else {
for (j=i; j>0; j--)
a[j] = a[k-j]+2;
}
A.$$O(n)$$
B.$$\Theta (kn)$$
C.$$\Omega (n)$$
D.$$\Theta (n\log n)$$
答案:A