程序时间复杂度的几种表示

看《数据结构、算法与应用:C++语言描述》中讲到程序性能的时候涉及到了空间复杂度与时间复杂度。其中时间复杂度有多种表示:O、Ω、Θ、o,然后然后就蒙圈了,虽然书上讲的也比较详细但还是不够直接。

这样表示

时间复杂度
O:big-O————上界
Ω:big-Omega—–下界(很少用)
Θ:big-Theta——-确界

F(n) = Θ(n^2)的时候,意思是说“F(n)在渐进情况下不仅不会比n^2增长快,而且也不会比n^2增长慢”。

大家都习惯用大O呢,因为正常人在使用算法的时候不会考虑下界Ω的。另外,并不是所有算法都能轻松证明复杂度下界的。

知乎:
为什么见周围人描述算法复杂度都用大 O 符号而不是大 Θ?
https://www.zhihu.com/question/20677334

贴几张CSDN中容易理解的图片予以区别:

这里写图片描述

这里写图片描述

这里写图片描述

相关阅读:

几种排序以及其时间复杂度
http://blog.csdn.net/huoyunshen88/article/details/8063569

排序类别时间复杂度空间复杂度稳定与否

这里写图片描述
注意:这个表头错位了,第一栏为排序,第二栏为类别,第三栏为时间复杂度…

快速排序的时间复杂度的下界,平均,上界分别是Θn), Θ(n log n)和Θ(n^2)
快速求中位数的下界,平均,上界分别是Θ(n), Θ(n)和Θ(n^2)。

前三张图片摘自:
http://blog.csdn.net/xky1306102chenhong/article/details/49766811

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值