Asymptotic Analysis——渐近分析

本文介绍了算法分析中的渐近分析,包括Big-Oh定义、Omega符号以及Theta记号。这些概念在比较不同算法效率,特别是在处理大规模输入时至关重要。通过举例说明了Big-Oh表示函数的渐近上界,Omega表示渐近下界,而Theta则同时给出上下界。建议参考《算法导论》及Coursera上的相关课程深入学习。


上图主要介绍的是渐进分析的动机是什么。

  • 高级推理算法的“灵魂”(翻译水平有限,不知道合适不合适,若有好的翻译请告诉我,或者你直接看英文原版吧)
  • 不关注架构/语言/编译器的相关细节(意为只关注算法本身)
  • 对于不同算法的比较特别有用,尤其是在大型输入(例如排序或整数乘法)


不关注常数因子和低阶项,举了一个例子 6nlog2n+6 去除常数因子6和低阶项6得到 nlogn ,用术语讲就是运行时间为 O(nlogn) ,n指的是输入的规模(例如数组的长度)
下面是几道例题,
第一道:

第二道:

第三道:

第四道:


Big-Oh:Definition


当只有一个渐进上界时,使用O记号,通常来讲,它来限制算法的最坏情况运行时间。


c与 n0 都是正常量

基础例子:
Example#1


Example#2


Omega Notation

正如 O 记号提供了一个函数的渐近上界,Ω记号提供了渐近下界。



Theta Notation

Θ 里的内容取不同的两个系数可表示函数渐近上、下界

总结三者关系,看图:


Θ , O ,Ω记号的图例。在每个部分,标出的 n0 的值是最小的可能值,任何更大的值也将有效。 第一幅图 Θ 限制一个函数在常量因子内。如果存在正常量 n0c1c2 ,使得在 n0 及其右边, f(n) 的值总位于 c1g(n) 之间或等于它们,那么记 f(n)=Θ(g(n)) 第二幅图 O 记号为函数给出一个常量因子内的上界。如果存在正常量n0c,使得在 n0 及其右边, f(n) 的值总小于或等于 cg(n) ,那么记 f(n)=O(g(n)) 第三幅图 Ω 记号为函数给出一个在常量因子内的下界。如果存在正常量 n0c ,使得在 n0 及其右边, f(n) 的值总大于或等于 cg(n) ,那么记 f(n)=Ω(g(n))

参考资料:
算法导论
Coursera Online : Algorithms: Design and Analysis, Part 1

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值