【问题标题】:Is Big-Omega distributive to addition?Big-Omega 是否分配给加法?
【发布时间】:2017-07-03 02:44:53
【问题描述】:

一个函数的大欧米茄总是等于所有子函数的大欧米茄吗?

例如:

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 个最小值这样的事情是正确的。

每个函数都这样吗?

【问题讨论】:

    标签: performance math big-o complexity-theory theory


    【解决方案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
    

    所以, 大欧米茄(f(x)) = 大欧米茄(x^2/2) + 大欧米茄(x/2) = 大欧米茄(x^2)

    但是,使用原始公式,请考虑:

    big-omega(Summation(n = 1..x; n)) != big-omega(1) + big-omega(2) + ... big-omega(n)
    

    对可变项的总和应用 big-omega 可能会导致混淆。

    【讨论】:

    • 感谢您的帮助。
    猜你喜欢
    • 2019-12-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-03-18
    • 2015-05-03
    • 1970-01-01
    相关资源
    最近更新 更多