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

admin2015-11-10  35

问题 设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(n2log5n)
C、O(n2log5n)
D、O(n3)

答案C

解析 基本运算语句是k=5*k,设其执行时间为T(n)。对于j每循环一次,该语句的执行次数为m,有:5m≤n,即m≤log5n。所以:
转载请注明原文地址:https://jikaoti.com/ti/JMajFFFM
0

最新回复(0)