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

文 | 平哥 日期 | 20201014
可以这么理解,比如以下代码:

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(n) = logn

你可能感兴趣的:(时间复杂度 O(logn) 的理解)