在描述算法复杂度时,经常用到O(1), O(n), O(logn), O(nlogn)来表示对应复杂度程度, 不过目前大家默认也通过这几个方式表示空间复杂度 。

那么,O(1), O(n), O(logn), O(nlogn)就可以看作既可表示算法复杂度,也可以表示空间复杂度。

大O加上()的形式,里面其实包裹的是一个函数f(),O(f()),指明某个算法的耗时/耗空间与数据增长量之间的关系。其中的n代表输入数据的量。
O(1), O(n), O(logn), O(nlogn) 的区别_定义域

这里普及一下对称函数

一般地,对数函数以真数)为自变量,指数为因变量,底数为常量的函数。

对数函数是6类基本初等函数之一。其中对数的定义:

如果ax =N(a>0,且a≠1),那么数x叫做以a为底N的对数,记作x=logaN,读作以a为底N的对数,其中a叫做对数的底数,N叫做真数

一般地,函数y=logaX(a>0,且a≠1)叫做对数函数,也就是说以幂(真数)为自变量,指数为因变量,底数为常量的函数,叫对数函数。

其中x是自变量,函数的定义域是(0,+∞),即x>0。它实际上就是指数函数反函数,可表示为x=ay。因此指数函数里对于a的规定,同样适用于对数函数。

log”是拉丁文logarithm(对数)的缩写,读作:[英][lɔɡ][美][lɔɡ, lɑɡ]。

O(1), O(n), O(logn), O(nlogn) 的区别_复杂度_02