单选题
假设n是描述问题规模的非负整数,下面程序片段的时间复杂度为______。
void fun(int n) {
int i,j,k;
for(i=1;i<=n;i++)
for(j=1;j<n;j++){
k=1;
while(k<=n)
k=5*k;
}
}
A.O(n
2
log
2
n)
B.O(nlog
5
n)
C.O(n
2
log
5
n)
D.O(n
3
)
A
B
C
D
【正确答案】
C
【答案解析】
[解析] 首先抓基本运算语句,即k=5*k;设其执行时间为T(n)。对于j每循环一次,该语句的执行次数为m,有5
m
≤n,即m≤log
5
n。所以,
[*]
提交答案
关闭