Big o O(日志(A))和#x2B;O(log(B))=O(log(A*B))?

Big o O(日志(A))和#x2B;O(log(B))=O(log(A*B))?,big-o,complexity-theory,Big O,Complexity Theory,这是事实: log(A) + log(B) = log(A * B) [0] 这也是真的吗 O(log(A)) + O(log(B)) = O(log(A * B)) [1] 据我所知 O(f(n))+O(g(n))=max(O(f(n)),O(g(n)))[2] 或者换句话说,如果一个函数渐进地增长得比另一个快,那么只有那个函数与大O符号相关。那么也许这个等式是真的 O(log(A)) + O(log(B)) = max( O(log(A), O(log(B)) ) [3] 这总是

这是事实:

log(A) + log(B) = log(A * B)    [0]
这也是真的吗

O(log(A)) + O(log(B)) = O(log(A * B)) [1]
据我所知

O(f(n))+O(g(n))=max(O(f(n)),O(g(n)))[2]

或者换句话说,如果一个函数渐进地增长得比另一个快,那么只有那个函数与大O符号相关。那么也许这个等式是真的

O(log(A)) + O(log(B)) = max( O(log(A), O(log(B)) ) [3]

这总是正确的:
O(X+Y)=O(X)+O(Y)


复杂性也不如代数那么珍贵。这意味着,如果某个事物在代数上是相等的,那么它的复杂性就必须相等。(当然,如果某事物的复杂性相等,那么它在代数上就不一定相等)

O
是线性的

因此
O(a)+O(b)=O(a+b)

所以
O(log(A))+O(log(B))=O(log(A)+log(B))=O(log(A*B))


关于
[3]
,你是对的

如果m=O(n),那么O(n+m)=O(2n)=2o(n)=O(n)(2是常数)
为真。这就是证明,让c_1和c_2为常数,通过定义函数的Big-O得到。所以你有:

O(log(A)) + O(log(B))  
= c_1*log(A) + c_2*log(B)
<= c*log(A) + c*log(B)  where c=max{c_1,c_2}
= c*(log(A)+log(B))
= O(log(A*B))
   O(log(A)) + O(log(B)) 
    = c_1*log(A) + c_2*log(B) [5]
假设log(A)是log(A)和log(B)的最大值,那么前面的等式[5]是:

    <= c_1*log(A) + c_2*log(A)
    = (c_1+c2)*log(A)
    = O(log(A)) 
    = O(max(log(A), log(B)))
等式[3]为“真”(等式[1]和[3]在数学上是等价的,但[3]可能更有用)。
    = max(O(log(A)), O(log(B)) )