Math 如何解决T(n+;1)=T(n)+;洛根

Math 如何解决T(n+;1)=T(n)+;洛根,math,time-complexity,Math,Time Complexity,我有一个递归: T(1)=a, n=1 T(n+1)=T(n)+logn, n>=1 当我通过替换进行解析时,我得到以下表达式: T(n)=log(n-1)...+log(n-k)+T(n-k) (K为n-1) 那么 T(n)=log(n-1)...+log(1)+T(1) log(1)=0,T(1)=a 从这里开始,我不知道如何获得复杂度为O(n^2)的表达式[这是练习中需要的] 有人能帮我吗 谢谢正如你自己所想,T(n)=log(n)+…+日志(1)=日志(n!) 众所周知,这是

我有一个递归:

T(1)=a, n=1
T(n+1)=T(n)+logn, n>=1
当我通过替换进行解析时,我得到以下表达式:

T(n)=log(n-1)...+log(n-k)+T(n-k)
(K为n-1)

那么

T(n)=log(n-1)...+log(1)+T(1)
log(1)=0,T(1)=a

从这里开始,我不知道如何获得复杂度为O(n^2)的表达式[这是练习中需要的]

有人能帮我吗


谢谢

正如你自己所想,
T(n)=log(n)+…+日志(1)=日志(n!)

众所周知,这是在
O(nlog(n))
中。为了说明这一点,我们可以给出一个上限和下限:
对数(n)+…+对数(1)=对数(n)+…+对数(n/2)>=对数(n/2)+…+log(n/2)=n/2*log(n/2)=n/2*log(n)-n/2=Ω(n*log(n))

因此,我们可以得出如下结论:
T(n)=Θ(n*log(n))

正如您所发现的
T(n)=log(n!)
。您可以使用和替换
n
(n/e)^n*\sqrt{2\pi n}
。因此,您将得到
T(n)~nlog(n/e)+0.5log(2pi*n)=θ(nlog(n))