单选题 假设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(n2log2n)
  • B.O(nlog5n)
  • C.O(n2log5n)
  • D.O(n3)
【正确答案】 C
【答案解析】[解析] 首先抓基本运算语句,即k=5*k;设其执行时间为T(n)。对于j每循环一次,该语句的执行次数为m,有5m≤n,即m≤log5n。所以,
[*]