1

可以这么理解,比如以下代码:

class Demo {
    public static void main(String[] args){
        i = 1;
        while (i <= n) {
            i = i * 2;
        }
    }
}

此段代码的时间复杂度就取决于while里面那句话的执行次数,也就是i和n的关系。
可以理解为:执行多少次(设为x)就有多少个2相乘,所以最后:
i = 2^x <= n
所以执行次数:x = logn(以2为底)

时间复杂度:O(logn)


平哥
17 声望2 粉丝

引用和评论

0 条评论