以下等式的Big-O
The Big-O of the following equation
如何求下式的上界,谢谢!
2log(mn/2) + 4log(mn/4) + ... + mlog(mn/m)
这个总和等于 Θ(m log n)。
让我们从重写开始
2k log (mn / 2k) = 2k(log mn - k)
现在,我们有了总和
Σk=1log m 2k (log mn - k)
= Σk=1log m (2k log mn - k 2k)
= log mn Σk=1log m 2k - Σk=1log m k 2k
第一个和是几何级数的和。它简化为 21 + log m - 2 = 2m - 2。这意味着我们剩下
2m log mn - 2log mn - Σk=1log m k 2k
这给我们留下了在一定范围内简化总和 k2k 的任务。这是一个arithmetico-geometric sum。如果我们想象这个总和的范围是从 2(含)到某个上限 q,那么总和就是 q2q+1.
(q+1)2q+1 - 2 + 2(2 - 2q+1)
= (q+1)2q+1 - 2 + 4 - 2·2q+1
= (q - 1)2q+1 + 2
您可以通过代入不同的 q 值来检查此公式是否正确。
在我们的例子中,q = log m,所以我们想要的总和为
(log m - 1)21 + log m + 2
= (log m - 1)(2m) + 2
= 2m log m - 2m + 2
所以我们的总和等于
2m log mn - 2log mn - Σk=1log mn k 2k
= 2m log mn - 2log mn - (2m log m - 2m + 2)
= 2m log mn - 2log mn - 2m log m + 2m - 2
= 2m (log mn - log m + 1) - 2log mn - 2
= 2m (log n + 1) - 2 log mn - 2
Θ(m log n).
希望对您有所帮助!
如何求下式的上界,谢谢!
2log(mn/2) + 4log(mn/4) + ... + mlog(mn/m)
这个总和等于 Θ(m log n)。
让我们从重写开始
2k log (mn / 2k) = 2k(log mn - k)
现在,我们有了总和
Σk=1log m 2k (log mn - k)
= Σk=1log m (2k log mn - k 2k)
= log mn Σk=1log m 2k - Σk=1log m k 2k
第一个和是几何级数的和。它简化为 21 + log m - 2 = 2m - 2。这意味着我们剩下
2m log mn - 2log mn - Σk=1log m k 2k
这给我们留下了在一定范围内简化总和 k2k 的任务。这是一个arithmetico-geometric sum。如果我们想象这个总和的范围是从 2(含)到某个上限 q,那么总和就是 q2q+1.
(q+1)2q+1 - 2 + 2(2 - 2q+1)
= (q+1)2q+1 - 2 + 4 - 2·2q+1
= (q - 1)2q+1 + 2
您可以通过代入不同的 q 值来检查此公式是否正确。
在我们的例子中,q = log m,所以我们想要的总和为
(log m - 1)21 + log m + 2
= (log m - 1)(2m) + 2
= 2m log m - 2m + 2
所以我们的总和等于
2m log mn - 2log mn - Σk=1log mn k 2k
= 2m log mn - 2log mn - (2m log m - 2m + 2)
= 2m log mn - 2log mn - 2m log m + 2m - 2
= 2m (log mn - log m + 1) - 2log mn - 2
= 2m (log n + 1) - 2 log mn - 2
Θ(m log n).
希望对您有所帮助!