对于p>1有如下关系:
O(1) < O(logN) < O(N) < O(NlogN) < O(N的p次方) < O(p的N次方) < O(N!) < O(N的N次方)
这个划分是有理论根据的。P/NP(NP-hard,NP-complete)问题就是以次为基础划分的吧[当然也有部分按并行计算划分]
所以N的2次方3次方有时候可以看成是一个数量级,有时候却不行。因为他们的比值不是常数,但是logN不同:不同底数的logN的比值是一个与问题的规模N无关的常数。
big-O记号是对某个算法计算使用成本的悲观估计,具体规则是:
T(n)=O(f(n)) iff 倒E C>0,当n>>2时,有T(n)<C*f(n)
它有几条常用的规则,分别是:
常数系可以忽略:O(C*f(n))=O(f(n))
低次项可以忽略:O(n^a+n^b)=O(n^a),a>b>0