以下算法的时间复杂度为( )。 void fun(int n){ int i=1: while(i

admin2019-05-10  22

问题 以下算法的时间复杂度为(    )。
  void fun(int n){
    int i=1:
    while(i<=n)
    i=i*2:
  }

选项 A、D(n)
B、D(n2)
C、D(nlog2n)
D、D(log2n)

答案D

解析 基本运算是i=i*2,设其执行时间为T(n),则2T(n)≤n,即T(n)≤log2n=O(log2n)。
转载请注明原文地址:https://jikaoti.com/ti/hbGjFFFM
0

最新回复(0)