浅谈时间复杂度

编程入门 行业动态 更新时间:2024-10-06 12:21:04

浅谈时间<a href=https://www.elefans.com/category/jswz/34/1767520.html style=复杂度"/>

浅谈时间复杂度

渐进时间复杂度的含义

时间复杂度有多种,大O表示法是代表渐进时间复杂度。
在这里大O是渐近上界的记号。除了渐进上界O,还有渐近下界记号Ω,紧渐近界记号Θ。
假设,对所有n,f(n) >= 0,g(n) >= 0。
O(g(n)) = { f(n) | 存在正常数c和n0使得对所有n>= n0有:0 <= f(n) <=cg(n) }。
用图片表示就是:

在这种情况下,我们一般习惯记为f(n)=O(g(n)),实际上这里是等号的滥用,更应该是记录为f(n)∈O(g(n)),因为这里表示是函数f(n)是O这个集合中的一个元素。但是我们还是依照约定的习惯记法,记作等号。
在实际算法分析中,O(g(n))的值等于循环最多次数的代码块的次数。
比如:某个方法的计算步与数据规模x的关系是x²+2x+10,那么这个方法的渐进时间复杂度就为n²。

渐进时间复杂度的比较

既然计算出了渐进时间复杂度,就是为了比较不同代码的效率。时间复杂度越小的代码越好。
渐进时间复杂度的比较如下图:也就是:Log n<n<nlog n<n²<2^n。

更多推荐

浅谈时间复杂度

本文发布于:2024-03-10 15:49:36,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/34/1728386.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:复杂度   浅谈   时间

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!