Time complexity 用大θ表示法表示不同O和ω复杂度的算法

Time complexity 用大θ表示法表示不同O和ω复杂度的算法,time-complexity,big-o,complexity-theory,Time Complexity,Big O,Complexity Theory,据我所见,大θ只能用于具有相同O和ω复杂性的算法。然而,有人告诉我,一个算法仍然可以用大θ表示法来表示,不管O和ω的复杂性如何。我不确定怎么会是这样,因为它似乎违背了大θ的定义。谢谢 f是g的大θ当且仅当f是g的大Oh和大ω。如果有人告诉你不是这样,那他们就错了。现在,如果f是g的大ω,h的大Oh,g的增长比h慢,那么可能有一个更大的界,可以接受θ界,但你需要看看。好吧,很简单,每个f都是f的大θ。所以总是有一个精确的界。所以,有可能一个算法可以是,例如,大O(n^2),大Omega(n),并用

据我所见,大θ只能用于具有相同O和ω复杂性的算法。然而,有人告诉我,一个算法仍然可以用大θ表示法来表示,不管O和ω的复杂性如何。我不确定怎么会是这样,因为它似乎违背了大θ的定义。谢谢

f是g的大θ当且仅当f是g的大Oh和大ω。如果有人告诉你不是这样,那他们就错了。现在,如果f是g的大ω,h的大Oh,g的增长比h慢,那么可能有一个更大的界,可以接受θ界,但你需要看看。

好吧,很简单,每个f都是f的大θ。所以总是有一个精确的界。所以,有可能一个算法可以是,例如,大O(n^2),大Omega(n),并用复杂度不是n^2和n的大θ表示?顺便说一句,谢谢你的评论,它们很有帮助。@kaya3好的观点:)@CrackerBarrelKid55是的,事实上,f(n)=nlogn+1既是O(n^2)(因为它渐进地比二次曲线慢)又是ω(n)(因为它渐进地比线性曲线快)。但这两个界限都不严格;它也是O(nlogn)和ω(nlogn),因此是θ(nlogn)。你的误解是,如果一个算法的运行时间是某个函数g的big-O,那么g就是该算法的big-O复杂度。但是还有无限多的其他函数,算法也是大O的。对于大欧米茄也是如此。