上图主要介绍的是渐进分析的动机是什么。
- 高级推理算法的“灵魂”(翻译水平有限,不知道合适不合适,若有好的翻译请告诉我,或者你直接看英文原版吧)
- 不关注架构/语言/编译器的相关细节(意为只关注算法本身)
- 对于不同算法的比较特别有用,尤其是在大型输入(例如排序或整数乘法)
不关注常数因子和低阶项,举了一个例子 6nlog2n+6 去除常数因子6和低阶项6得到 nlogn ,用术语讲就是运行时间为 O(nlogn) ,n指的是输入的规模(例如数组的长度)
下面是几道例题,
第一道:
第二道:
第三道:
第四道:
Big-Oh:Definition
当只有一个渐进上界时,使用O记号,通常来讲,它来限制算法的最坏情况运行时间。
c与 n0 都是正常量
基础例子:
Example#1
Example#2
Omega Notation
正如