算法时间复杂度的表示法O(n²)、O(n)、O(1)、O(nlogn)

来源:互联网 发布:iphone6s解锁软件 编辑:程序博客网 时间:2024/05/29 03:44


时间复杂度这个东西,其实更准确点说应该是描述一个算法在问题规模不断增大时对应的时间增长曲线。

所以,这些增长数量级并不是一个准确的性能评价,可以理解为一个近似值,时间的增长近似于logN、NlogN的曲线。



简单理解:就是变量为n的时候,算法需要对变量操作次数的量级。

比如:

要找到一个数组里面最大的一个数,你要把n个变量都扫描一遍,操作次数为n,那么算法复杂度是O(n).

用冒泡排序排一个数组,对于n个变量的数组,需要交换变量位置n^2 次,那么算法复杂度就是O(n^2 ).

有时候,如果对变量操作的次数是个多项式比如n^4+n^2+n, 就取数量级最大的那个,O(n^4)


详见知乎https://www.zhihu.com/question/21387264


阅读全文
0 0