http://blog.csdn.net/explore_knight/archive/2007/09/17/1788046.aspx
這里只考慮形如:
T(n)=c1T(n-1)+c2T(n-2)+…+ ckT(n-k)+f(n),n≥k (6.18)
的遞歸方程。其中ci (i=l,2,…,k)為實常數,且ck≠0。它可改寫為一個線性常系數k階非齊次的差分方程:
T(n)-c1T(n-1)- c2T(n-2)-…-ckT(n-k)=f(n),n≥k (6.19)
(6.19)與線性常系數k階非齊次常微分方程的結構十分相似,因而解法類同。限于篇幅,這里直接給出(6.19)的解法,略去其正確性的證明。
第一步,求(6.19)所對應的齊次方程:
T(n)-c1T(n-1)- c2T(n-2)-…-ckT(n-k)=0 (6.20)
的基本解系:寫出(6.20)的特征方程:
C(t)=tk-c1tk-1-c2tk-2 -…-ck=0 (6.21)
若t=r是(6.21)的m重實根,則得(6.20)的m個基礎解rn,nrn,n2rn,…,nm-1rn;若ρeiθ和ρe-iθ是(6.21)的一對l重的共扼復根,則得(6.20)的2l個基礎解ρncosnθ,ρnsinnθ,nρncosnθ,nρnsinnθ,…,nl-1ρncosnθ,nl-1ρncosnθ。如此,求出(6.21)的所有的根,就可以得到(6.20)的k個的基礎解。而且,這k個基礎解構成了(6.20)的基礎解系。即(6.20)的任意一個解都可以表示成這k個基礎解的線性組合。
第二步,求(6.19)的一個特解。理論上,(6.19)的特解可以用Lagrange常數變易法得到。但其中要用到(6.20)的通解的顯式表達,即(6.20)的基礎解系的線性組合,十分麻煩。因此在實際中,常常采用試探法,也就是根據f(n)的特點推測特解的形式,留下若干可調的常數,將推測解代人(6.19)后確定。由于(6.19)的特殊性,可以利用迭加原理,將f(n)線性分解為若干個單項之和并求出各單項相應的特解,然后迭加便得到f(n)相應的特解。這使得試探法更為有效。為了方便,這里對三種特殊形式的f(n),給出(6.19)的相應特解并列在表6-1中,可供直接套用。其中pi,i=1,2,…,s是待定常數。
表6-1 方程(6.19)的常用特解形式
f(n)的形式 條 件 方程(6.19)的特解的形式
{此處無法正常顯示,請看原文。}
第三步,寫出(6.19)即(6.18)的通解
(6.22)
其中{Ti(n),i=0,1,2,…,n}是(6.20)的基礎解系,g(n)是(6.19)的一個特解。然后由(6.18)的初始條件
T(i)=Ti ,i=1,2,…,k-1
來確定(6.22)中的待定的組合常數{ai},即依靠線性方程組
或
解出{ai},并代回(6.22)。其中βj=Tj-g(j),j=0,1,2,…,k-1。
第四步,估計(6.22)的漸近階,即為所要求。
下面用兩個例子加以說明。
例l 考慮遞歸方程
它的相應特征方程為:
C(t)=t2-t-1=0
解之得兩個單根和。相應的(6.20)的基礎解系為{r0n,r1n}。相應的(6.19)的一個特解為F*(n)=-8,因而相應的(6.19)的通解為:
F(n)=a0r0n +a1r1n- 8
令其滿足初始條件,得二階線性方程組:
或
或
解之得,,從而
于是
。
例2 考慮遞歸方程
T(n)=4T(n-1)-4T(n-2)+2nn (6.23)
和初始條件T(0)=0,T(1)=4/3。
它對應的特征方程(6.21)為
C(t)=t2-4t+4=0
有一個兩重根r =2。故相應的(6.20)的基礎解系為{2n,2nn}。由于f(n)=2nn,利用表6-1,相應的(6.19)的一個特解為
T*(n)=n2(p0+p1n)2n,
代人(6.23),定出p0=1/2,p1=1/6。因此相應的(6.19)的通解為:
T(n)=a02n+a1n2n+n2(1/2+n/6)2n,
令其滿足初始條件得a0=a1=0,從而
T(n)=n2(1/2+n/6)2n
于是T(n)=θ(n32n)。
本文來自CSDN博客,轉載請標明出處:http://blog.csdn.net/explore_knight/archive/2007/09/17/1788046.aspx