具体数学-第3课(递归式转化为求和求解)

今天讲了一种将递归式转化为求和的方法。

考虑如下递归式:

anTn=bnTn1+cn

两边同时乘以sn得到:

snanTn=snbnTn1+sncn

要想转化成可以求和的递归式,那么必须有:

snbn=sn1an1

也就是:

sn=an1an2a1bnbn1b2

这时令

Sn=snanTn

得到:

Sn=Sn1+sncn

这时就可以转化为求和了,解出:

Sn=s0a0T0+k=1nskck

所以

Tn=1snan(s0a0T0+k=1nskck)

例题1

n个数快速排序的操作次数为Cn,那么有

C0=0Cn=n+1+2nk=0n1Ck,n>0

n1取代n可以得到

Cn1=n+2n1k=0n2Ck,n>1

两式相减可以得到

C0=0nCn=(n+1)Cn1+2n,n>0

由上面方法可以得到

an=n,bn=n+1,cn=2n

所以

sn=2n(n+1)

进而可以求出

Cn=2(n+1)k=1n1k+1

这里介绍一个概念叫做调和级数:

Hn=1+12++1n=k=1n1k

所以

Cn=2(n+1)Hn2n

求和三大定律

结合律、分配率、交换律。这里就不展开说了,相信你们都知道的。
来两题简单的例题说明一下。

例题2

S=0kn(a+bk)

普通的方法每个人应该都会,等差数列嘛。这里用求和定律来做一做。
nk取代k,得到

S=0nkn(a+b(nk))

S=0kn(a+b(nk))

两式相加得到

2S=0kn(2a+bn)=(2a+bn)0kn1=(2a+bn)(n+1)

所以

S=(2a+bn)(n+1)/2

例题3

S=0knkxk

这里用到另一种求和的方法。
两边同时加上第n+1项,得到

S+(n+1)xn+1=0kn+1kxk=1kn+1kxk=0kn(k+1)xk+1=x0kn(kxk+xk)=xS+x0knxk=xS+x1xn+11x

所以

S=x(n+1)xn+1+nxn+2(1x)2

这里介绍另一种方法来求解。

f(x)=0knxk=1xn+11x

求导得到

f(x)=0knkxk1=1xS

所以

1xS=fx(1xn+11x)=1(n+1)xn+nxn+1(1x)2

同样可以得到

S=x(n+1)xn+1+nxn+2(1x)2

posted @   方而静  阅读(255)  评论(0编辑  收藏  举报
编辑推荐:
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
阅读排行:
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· AI 智能体引爆开源社区「GitHub 热点速览」
· 从HTTP原因短语缺失研究HTTP/2和HTTP/3的设计差异
· 三行代码完成国际化适配,妙~啊~
点击右上角即可分享
微信分享提示