渐进最优性

作用:

渐进最优是用以评价算法的效率

定义:

如果已经证实一个问题需要使用Ω(f(n))的资源来解决,而某个算法用O(f(n))的资源来解决这个问题,则该算法就是渐进最优的。

解释:

(1) O符号表示函数在增长到一定程度时总小于一个特定函数的常数倍,大Ω符号则表示总大于。

(2) 用数学语言描述即是:

f ( ν ) = Ω [ g ( ν ) ] {\displaystyle f(\nu )=\Omega [g(\nu )]} f(ν)=Ω[g(ν)]的含义为:

若存在 x 1 , κ {\displaystyle x_{1},\kappa } x1,κ 使得:对于所有 ∀ x > x 1 , f ( x ) > κ g ( x ) {\displaystyle \forall x>x_{1},f(x)>\kappa g(x)} x>x1,f(x)>κg(x).

(3) 大Ω符号与大O符号正好相反,即:

{ f ( ν ) = O [ g ( ν ) ] g ( ν ) = Ω [ f ( ν ) ] {\displaystyle {\begin{cases}f(\nu )=\mathrm {O} [g(\nu )]\\g(\nu )=\Omega [f(\nu )]\end{cases}}} {f(ν)=O[g(ν)]g(ν)=Ω[f(ν)]

渐进最优的例子包括数据结构动态数组[1],能够在常数时间内索引,但性能在多数机器上不如普通数组的索引。另外,在所有基于比较的排序算法中,归并排序和堆排序是渐进最优的,说到渐进这些算法是依赖于n的,并且忽略常数因子,这些算法随n的递增趋于最优。所以在基于比较的排序算法中,它们都是渐进最优的,它们只比较较少的次数,它们的运行时间主要受比较次数的影响,都是O(nlgn)。

参考文献:

[1] 维基百科-渐进最优
[2] 维基百科-Ω符号

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值