【发布时间】:2016-01-30 14:04:17
【问题描述】:
假设 n1,n2 > k。 有没有
O(k(n1+n2-k)) = O(k(max(n1,n2)) ?
还有
O(n1+n2) = O(max(n1,n2)) ?
谢谢
【问题讨论】:
标签: big-o time-complexity
假设 n1,n2 > k。 有没有
O(k(n1+n2-k)) = O(k(max(n1,n2)) ?
还有
O(n1+n2) = O(max(n1,n2)) ?
谢谢
【问题讨论】:
标签: big-o time-complexity
O(k(n1+n2-k)) = O(k(max(n1,n2)) 的说法是真的吗?
我们知道k < min{n1,n2} - 因此:
k(n1+n2-k) = k(max{n1,n2} + min{n1,n2} -k) > k(max{n1,n2})
因此,证明O(k(max(n1,n2)) 是O(k(n1+n2-k)) 的一个子集非常简单
我们还需要显示相反的方式,这也很容易,因为2k*max{n1,n2} 在O(k(max(n1,n2)) 中,并且
k(n1+n2-k) < k(max{n1,n2} + max{n1,n2}) -k) <
< k(max{n1,n2} + max{n1,n2}))
= 2 k*max{n1,n2}
所以,这个说法是正确的。
O(n1+n2) = O(max(n1,n2)) 吗?
这是正确的。从max{n1,n2} <= n1+n2 <= 2*max{n1,n2} 开始,我们在分析大 O 表示法时不关心常量。
【讨论】: