n*log n复杂度的差分方程推导

本文从简单形式a(n)=a(n/2)+A开始,逐步推导n*logn复杂度的差分方程。通过推迟获得a(n)的通解,并进一步扩展到a(n)=s*a(n/2)+n的形式,讨论了不同参数s下解的变化规律。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

n*log n复杂度的差分方程推导
先从简单的形式,比如a(n)=a(n/2)+A的形式开始:
有以前的只是积累,通过一次推迟可以获得a(n)的通解形式:
x*x*x-x*x-(x*x-x)=0
Go
(x-1)*(x-1)*x=0
Go
a(n)=M*k+N  ( 其中k为In n 和In 2)
Go
a(n)=M*(In n/In 2 )+ N

将它扩展为a(n)=s*a(n/2)+A
GO
(x-s)*(x-1)*x=0
GO
a(n)=M*s^k+N   ( 其中k为In n 和In 2)
当s=2时有:a(n)=M*n+N


另外将上面的方程继续扩展为a(n)=s*a(n/2)+n:
Go
变化为b(k)=s*b(k-1)+2^k  ( 其中k为In n 和In 2)
Go
b(k-1)=s*b(k-2)+2^(k-1)
Go
2*b(k-1)=2*s*b(k-2)+2^k
Go
b(k)-s*b(k-1)- 2* {  b(k-1)- s *b(k-2) } =0
Go
x*x*x - s*x*x - 2 * {  x*x - s *x } =0
Go
x*x*(x-s) -  2* x (x-s) =0
Go
x*(x-2)*(x-s) =0

当s不等于2时:
Go
a(n)=M*2^k + N *s^k +T  ( 其中k为In n 和In 2)
Go
a(n)=M*n+  N * s^k  +T
当s<2时, a(n)由2^k部分决定,为线形的。
当s>2时, a(n)由s^k部分决定,度量变为n^(In  s /In 2)

当s等于2时:a(n)通项公式为2^k*(A*k+B)
Go
a(n)为n*(In n / In  2) 度量的。

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值