这是一个为了让新手快速理解的博客,所以我不会讲述得过于深入,以免劝退大家。
让我们先看看这下面的两张图:
![](https://i-blog.csdnimg.cn/blog_migrate/40fc8d6445c1a3a0473616f46462415b.jpeg)
然后是一个常量作为一个退出循环的条件;
![](https://i-blog.csdnimg.cn/blog_migrate/4094917449f0c6ff67170587c7ab2129.jpeg)
不知道大家发现没有,第一个图还是看得迷迷糊糊的,但是大概看得懂,但是第二图貌似看不懂了;
觉得,时间复杂度这个东西有点像是在说执行次数这个问题啊?
没错,确实时间复杂度的意思就是在说执行次数这个东西,比如,一个for循环我执行了n次那么它的时间复杂度就是n;
那么,n+1次那,它的时间复杂度是多少啊?
其实时间复杂度是个估计值,n+1的时间复杂度还是n,因为+1,没有太大的影响;
我们一般用大O表示法来表示,你就相当于把这种表示法当作是估计标志吧。
所以,我们一般写成O(n);
还有最重要的一点就是,()中的值越小它的时间复杂度就越nb,时间也就越短,代码效率也就越高;
对于不是一个确定值的执行次数我们都估计为1;
时间复杂度就只是保留它的最高次数,连系数也不要。
n^2+6=O(n^2);
2*n^2+n+1=O(n^2);
有没有觉得像是在求极限?