您的位置:首页 > 理论基础 > 数据结构算法

关于数据结构里big-O的一些规则记录

2016-06-10 17:52 316 查看
对于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
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: