时间复杂度 O(logn) 的理解

平哥

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

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)

阅读 1.6k
14 声望
2 粉丝
0 条评论
14 声望
2 粉丝
文章目录
宣传栏