算法复杂度的差分方程推导2(n*log n的继续扩展)
目前考虑到一种更复杂的情况,a(n)=s*a(n/2) + t^n
GO
变化为b(k)=s*b(k-1)+t^(2^k) ( 其中k为In n 和In 2)
GO
变化为b(k)=s*b(k-1)+(t^2)^k
Go
这样就变化为了第一篇中的形式,这里t^2替换了以前的2,下面直接得出结果:
Go
x*(x-t^2)*(x-s)=0
当s不等于t^2时:
GO
a(n)=M*(t^2)^k+N * s^k + T ( 其中k为In n 和In 2)
当s<t^2时,a(n)由前面部分决定:
GO
a(n)=M*(t^2)^(In n/In 2)+N * s^k + T
Go
a(n)=M*t^n+N*s^k+T ,所以复杂度是t^n形式的。
当s>2^t时,由后面部分决定,所以复杂度是s^k形式,可以转化为n^(In s/In 2)形式。
当s等于t^2时:a(n)的通项公式是s^k*(A*k+B)
GO
因为s^k=n^(In s/In 2)=n^t
a(n)=n^t*(In n/ In 2) 度量的.