我知道两者的定义,但有时候我会看到教科书中写的O(1)和其他时间Θ(1)是什么原因?
感谢。
答案 0 :(得分:5)
O(1)和Θ(1)不一定相同。例如,考虑函数f(n)= 1 / n。此函数为O(1),因为对于任何n≥1,f(n)≤1。但是,由于以下原因,它不Θ(1):f(n)的一个定义= Θ(g(n))是| f(n)/ g(n)|的极限当n变为无穷大时,一些有限值L满足0 希望这有帮助!
答案 1 :(得分:-1)
Big-O表示法表示渐近上界,而Big-Theta表示法另外表示渐近下界。通常,上限是人们感兴趣的东西,所以他们写O(某事),即使Theta(某事)也是真的。例如,如果你想在未排序的列表中计算等于x的事物的数量,你可能会说它可以在线性时间内完成并且是O(n),因为对你来说重要的是它赢得了'我需要更长的时间。然而,由于你必须检查列表中的所有元素,因此它的Omega(n)和因此Theta(n)也是如此 - 它不能在子线性时间内完成。