设n是描述问题规模的非负整数,下面程序片段的时间复杂度是( )。 void fun(int n){ int i,k; for(i=1;i

admin2019-05-10  29

问题 设n是描述问题规模的非负整数,下面程序片段的时间复杂度是(    )。
void fun(int n){
    int i,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。所以:
转载请注明原文地址:https://kaotiyun.com/show/inCi777K
0

最新回复(0)