算法复杂度的差分方程推导(n*log n的扩展)

本文探讨了递归算法复杂度的一种特殊情形,通过将原始递推方程转换为差分方程,进而求解其通项公式。根据不同参数s与2^t的关系,详细分析了复杂度的不同表现形式。

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

算法复杂度的差分方程推导(n*log n的扩展)

目前考虑到一种更复杂的情况,a(n)=s*a(n/2) + n^t

GO

变化为b(k)=s*b(k-1)+(2^k)^t  ( 其中k为In n 和In 2) 

GO

变化为b(k)=s*b(k-1)+2^(kt)

Go

这样就变化为了上篇中的形式,这里kt替换了以前的k,下面直接得出结果:

Go

x*(x-2^t)*(x-s)=0

 

当s不等于2^t时:

GO

a(n)=M*(2^t)^k+N * s^k + T   ( 其中k为In n 和In 2)

当s<2^t时,a(n)由前面部分决定:

GO

a(n)=M*(2^t)^(In n/In 2)+N * s^k + T

Go

a(n)=M*(2^(In n/In 2))^t+N * s^k + T

Go

a(n)=M*n^t+N*s^k+T  ,所以复杂度是n^t形式的。

当s>2^t时,由后面部分决定,所以复杂度是s^k形式,可以转化为n^(In s/In 2)形式。

 

 

当s等于2^t时: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) 度量的.

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值