请考虑以下算法(或过程,一段代码或其他):
Contrive(n)
1. if n = 0 then do something Theta(n^3)
2. else if n is even then
3. flip a coin
4. if heads, do something Theta(n)
5. else if tails, do something Theta(n^2)
6. else if n is odd then
7. flip a coin
8. if heads, do something Theta(n^4)
9. else if tails, do something Theta(n^5)
此函数的渐近行为是什么?
在最佳情况下(为偶数),运行时间为Ω (n )和O (n 2),而不是任何东西的Θ。nΩ(n)O(n2)Θ
在最坏的情况下(为奇数),运行时间为Ω (n 4)和O (n 5),但不等于任何东西的Θ。nΩ(n4)O(n5)Θ
在的情况下,运行时间为Θ (n 3)。n=0Θ(n3)
这是一个人为的示例,但这仅是为了清楚地说明界限与大小写之间的区别。如果您执行的活动没有任何已知的界限,则可以通过完全确定的过程使区分变得有意义。Θ