上图主要介绍的是渐进分析的动机是什么。
- 高级推理算法的“灵魂”(翻译水平有限,不知道合适不合适,若有好的翻译请告诉我,或者你直接看英文原版吧)
- 不关注架构/语言/编译器的相关细节(意为只关注算法本身)
- 对于不同算法的比较特别有用,尤其是在大型输入(例如排序或整数乘法)
不关注常数因子和低阶项,举了一个例子 6nlog2n+6 去除常数因子6和低阶项6得到 nlogn ,用术语讲就是运行时间为 O(nlogn) ,n指的是输入的规模(例如数组的长度)
下面是几道例题,
第一道:
第二道:
第三道:
第四道:
Big-Oh:Definition
当只有一个渐进上界时,使用O记号,通常来讲,它来限制算法的最坏情况运行时间。
c与 n0 都是正常量
基础例子:
Example#1
Example#2
Omega Notation
正如
O
记号提供了一个函数的渐近上界,
Theta Notation
Θ
里的内容取不同的两个系数可表示函数渐近上、下界。
总结三者关系,看图:
Θ , O ,
参考资料:
算法导论
Coursera Online : Algorithms: Design and Analysis, Part 1
本文介绍了算法分析中的渐近分析,包括Big-Oh定义、Omega符号以及Theta记号。这些概念在比较不同算法效率,特别是在处理大规模输入时至关重要。通过举例说明了Big-Oh表示函数的渐近上界,Omega表示渐近下界,而Theta则同时给出上下界。建议参考《算法导论》及Coursera上的相关课程深入学习。
2370

被折叠的 条评论
为什么被折叠?



