算法复杂度的差分方程推导3(两种一般情况的兼容)

本文探讨了一种复杂的算法复杂度差分方程推导情况,即a(n)=s*a(n/2)+t^n+n^t的形式,并通过转换简化为b(k)的递推公式。进一步推广至a(n)=s*a(n-1)+s1^n+s2^n+...的一般形式,并介绍了求解此类问题的方法。

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

算法复杂度的差分方程推导3(两种一般情况的兼容)

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

GO

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

GO

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

 

在这里我们先推导一个一般行的公式:

a(n)=s*a(n-1)+s1^n+s2^n

GO

a(n-1)=s*a(n-2)+s1^(n-1)+s2^(n-1)

GO

s1*a(n-1)=s1*s*a(n-2)+s1*s1^(n-1)+s1*s2^(n-1)

Go

minus

a(n)-s*a(n-1)-s1*{ a(n-1) -s*a(n-2) }=(s2-s1)*s2^(n-1)

Go

similar

a(n-1)-s*a(n-2)-s1*{ a(n-2) -s*a(n-3) }=(s2-s1)*s2^(n-2)

Go

multiple

s2*{ a(n-1)-s*a(n-2) }-s2*s1*{ a(n-2) -s*a(n-3) }=s2*(s2-s1)*s2^(n-2)

Go

minus

x*(x-s)*(x-s1)*(x-s2)=0

 

这样求解b(k)就获得了新的工具,需要分别考虑s,s1和s2的值,这里不继续求值了。

在这里提出一个思维:可以对a(n)=s*a(n-1)+s1^n+s2^n+s3^n...按同样的思维推广,所以求解这类问题最终

 

以来与s1,s2,s3是否存在相同值的问题上;另外在前面我们将指数形式的函数转换为幂级数方式的思维也很

 

重要。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值