如果一个程序的复杂度为:1<f(n)<2*n
那么我们可以说:f(n)=O(n)即f(n)的复杂度渐进的小于或者等于n.
f(n)=Ω(1)即f(n)的复杂度渐进的大于或者等于1,即1是f(n)的下界。
f(n)=Θ(n)即f(n)的复杂度渐进的等于n。
以上的三个就是我们经常要用的三个符号,代表大于等于,小于等于,等于,在复杂的解释就要去看渐进数学了。
以上都是针对单个变量的渐进计法,下面列举一个2个变量的渐进计法的列子,更多的变量,依次类推。
f(m,n)=3*m^2*n+m^3+10*m*n+2*n^2
那么有f(m,n)=O(m^2*n+m^3+n^2)
为什么呢?
对于两个变量的渐进计法,我们也是将其分解为两个单变量的渐进计法进行判别的,当f(n)渐进的小于(g(n))时,且f(m)
的复杂度与g(m)的复杂度比值是一个常数时,我们说f(n,m)渐进的小于g(n,m)。这和高等数学的无穷小判断很类似。一个变量满足无穷小,另一个变量比值为常数,那么该函数就是另一个的无穷小。