算法复杂度&Big-O表示法

符号定义

描述算法效率的符号说明。

Big-O(O)

求在最坏情况下的算法的时间复杂度,即复杂度(函数增长速度)的上界。

Big-Omega(Ω)

求在最好情况下的算法的时间复杂度,即复杂度(函数增长速度)的下界。

Big-Theta(Θ)

求算法的平均时间复杂度

Little-O()

与Big-O的差别是不含下边界

Little-Omega()

与Big-Omega的差别是不含上边界

O(n) means,

For at least one choice of a constant k > 0, you can find a constant a such that the inequality 0 <= f(x)<= k g(x) holds for all x > a.

o(n) means,

For every choice of a constant k > 0, you can find a constant a such that the inequality 0 <= f(x)< k g(x) holds for all x > a.

--------------------------------------------------

f  =  Ο(g) =====f≤g  
f  =  Ω(g) =====f≥g  
f  =  θ(g) =====f=g  
f  =  o(g) =====f<g  
f  =  ω(g) =====f>g  

----------------------------------------------------

复杂度优劣比较

好----->不好

常数>对数>线性>nlogn>平方>立方>指数>阶乘

 

 

算法复杂度

---------------------------------------

这人说是面试的时候经常被问到(看来国内外是一样的哇),所以干脆搞了一个“小抄”造福大家。。

网站的链接我会附在最后

---------------------------------------

 


图片来源:

http://bigocheatsheet.com/

参考博文:

https://blog.youkuaiyun.com/xiaofei0859/article/details/77074028

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值