Algorithm 如何计算对数级数的平方和

Algorithm 如何计算对数级数的平方和,algorithm,math,big-o,time-complexity,Algorithm,Math,Big O,Time Complexity,我有一个算法,我已经计算出它的运行时复杂性如下公式: [log(1)]^2 + [log(2)]^2 + [log(3)]^2 + ....... + [log(n)]^2 对数的基数为2 如何从这个公式中计算出Θ/Θ算法的复杂度?对于上限,您可以将similat推理为log(n!)=O(nlog(n)) 将每个术语替换为日志(n/2)^2 下限=(n/2)*[log(n)-1]^2 我们可以证明log(n)-1>=(1/2)*log(n) 因此,下限=(n/8)*[log(n)]^2和上限=

我有一个算法,我已经计算出它的运行时复杂性如下公式:

[log(1)]^2 + [log(2)]^2 + [log(3)]^2 + ....... + [log(n)]^2
对数的基数为2


如何从这个公式中计算出Θ/Θ算法的复杂度?

对于上限,您可以将similat推理为log(n!)=O(nlog(n))

将每个术语替换为日志(n/2)^2

下限=
(n/2)*[log(n)-1]^2

我们可以证明
log(n)-1>=(1/2)*log(n)

因此,下限=
(n/8)*[log(n)]^2
和上限=
n*[log(n)]^2


因此,
Θ([log(1)]^2+[log(2)]^2+[log(3)]^2+.+[log(n)]^2)=n*[log(n)]^2

这可能会在数学堆栈交换中得到更好的关注。@slugonamission:math.SE处理算法吗?那些方括号应该表示某种最接近的整数值操作吗?递归。尾部递归可能是最安全的选择。基于连续近似(和
->
积分),它的渐近复杂性似乎是
O(n(log(n))^2)
。资料来源:
[log(1)]^2 + [log(2)]^2 + [log(3)]^2 + ....... + [log(n)]^2 < [log(n)]^2 + ... + [log(n)]^2
                                                            = n[log(n)]^2

[log(1)]^2 + [log(2)]^2 + [log(3)]^2 + ....... + [log(n)]^2  = O( n[log(n)]^2 )
[log(1)]^2 + [log(2)]^2 + [log(3)]^2 + ....... + [log(n)]^2 >= [log(n/2)]^2 + [log(n/2 + 1)]^2 + [log(3)]^2 + ....... + [log(n)]^2
[log(1)]^2 + [log(2)]^2 + [log(3)]^2 + ....... + [log(n)]^2  >= (n/2) * [log(n/2)]^2