问题描述
我对这里的正确答案感到困惑:
以下哪个效率函数属于O(n 3 )?
(a)2n 2 + 10n + 100
(b)3n 3 +9
(c)n + 100
(d)5n 3 + 2n 2 + 4n + 1答案:
✅所有人
?(b)和(d)
?(a)和(c)
?无
选项a和c也正确吗?
解决方法
您需要回答这个问题的关键事实是,大O给出了上限,而不一定是紧边界。
因此,例如 f ( n )= n 属于O( n ),但也属于O( n 100 )。
还有另一个概念,叫做大Theta,可能就是您想到的。请参阅Wikipedia上的符号列表:
- f ( n )= O( g ( n ))大O | | f |渐近地由 g (最大为常数)限制
- f ( n )=Θ( g ( n ))大Theta f 上下渐近地由 g 限制
如果问题应该是“哪个函数属于Θ(n 3 )” ,那么实际上只有答案“(b)和(d)”将具有是正确的。