参考
o(1), o(n), o(logn), o(nlogn)_o(1)-CSDN博客
算法时间复杂度的表示法O(n2)、O(n)、O(1)、O(nlogn)等是什么意思?-CSDN博客
在描述算法复杂度时,经常用到o(1), o(n), o(logn), o(nlogn)来表示对应算法的时间复杂度, 这里进行归纳一下它们代表的含义:
这是算法的时空复杂度的表示。不仅仅用于表示时间复杂度,也用于表示空间复杂度。
O后面的括号中有一个函数,指明某个算法的耗时/耗空间与数据增长量之间的关系。其中的n代表输入数据的量。
通过表格对比
时间复杂度这个东西,其实更准确点说应该是描述一个算法在问题规模不断增大时对应的时
间增长曲线。所以,这些增长数量级并不是一个准确的性能评价,可以理解为一个近似值,时间的增长近似于logN、NlogN的曲线。
常见时间复杂度之间的关系
?
所消耗的时间从小到大
O(1) < O(logn) < O(n) < O(nlogn) < O(n^2) <O(n^3)?????< O(2^n) < O(n!) < O(n^n)