函数的大欧米茄总是等于所有子函数的大欧米茄吗?
例如:
F(x) = a(x) + b(x) + c(x)...
big-omega(F(x) = big-omega(a(x)) + big-omega(b(x)) + big-omega(c(x))...
这总是如此吗?
对于像在数组中找到第i个最低值的事情一样。
每个功能都适用吗?
答案 0 :(得分:1)
简短回答:是的,只要术语数是固定常数。如果术语的数量是可变的,那么它会变得有点棘手。
但是,对于有限数量的术语,在写出来之后永远不会完成:
big-omega(a(x)) + big-omega(b(x)) + big-omega(c(x)) ...
原因是因为随着x变得任意大,除了一个术语之外的所有术语都会消失 - 要么是由于具有相同的大欧米茄复杂性,要么是由于更大的大欧米茄复杂性所包含。
示例:
f(x) = x^3 + x^2 + x
big-omega(f(x)) = big-omega(x^3 + x^2 + x) = big-omega(x^3)
现在,考虑一下:
f(x) = Summation(n = 1..x; n)
在这里,我们知道扩展
Summation(n = 1..x; n) = x(x+1)/2 = x^2/2 + x/2
所以, big-omega(f(x))= big-omega(x ^ 2/2)+ big-omega(x / 2)= big-omega(x ^ 2)
但是,使用原始公式,请考虑:
big-omega(Summation(n = 1..x; n)) != big-omega(1) + big-omega(2) + ... big-omega(n)
在一系列可变的术语上应用big-omega可能会导致混淆。