时间复杂度 O(logn) 的理解
2020-10-14 本文已影响0人
筱平哥哥
文 | 平哥 日期 | 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