簡體   English   中英

求解具有多個 T(n)s 的遞歸關系

[英]solving recurrence relation with multiple T(n)s

T(n) = 1/2(T(n - 1) + T(n - 2)) + cn,其中 c > 0

我無法理解如何解決多個 T(n) 的重復問題。 我做了很多練習,只用一個 T(n) 解決遞歸問題,並遵循我可以做得很好的定義。 但這不是 Master 定理可以直接解決的遞歸。 無論如何,我可以開始解決這個問題的好方法嗎?

求解齊次遞歸:

T_H(n) = 1/2(T_H(n − 1) + T_H(n − 2))
r^2 - r/2 - 1/2 = 0
r = 1 or r = -1/2
T_H(n) = alpha * 1^n + beta * (-1/2)^n (alpha and beta to be determined by initial conditions)

解決特殊解決方案

(1) 我們要找到一個s(n)使得s(n) = 1/2(s(n-1)+s(n-2)) + cn

我們知道cn是一個多項式(在n中),因此也可以找到一個多項式的特殊解決方案。

嘗試使用s(n) = an會導致: an = 1/2(an-1 + an-2) + cn以及an中的所有項都可以簡化自己,因此請嘗試下一個度數: s(n)=an^2 + bn

an^2 + bn = 1/2 (a(n-1)^2 + b(n-1) + a(n-2)^2 + b(n-2) ) + cn

發展每個人然后確定我們得到

a = c/3
b = 5c/9

快速檢查我們是否不相信我們進行有效演算的能力:因為s(n)必須對所有n都有效,讓我們任意設置n=2, c=7並檢查 s(2) 是否仍然驗證 (1)同上

n = 2, c=7
s(n)-1/2(s(n-1)+s(n-2))-cn ?= 0

低於八度表明確實 s(2) = 0

octave:1> n=2
n =  2
octave:2> c=7
c =  7
octave:3> c/3*n^2 + 5*c/9*n - 1/2*(c/3*(n-1)^2 + 5*c/9*(n-1) +c/3*(n-2)^2 + 5*c/9*(n-2))-c*n
ans = 0

復雜

T(n) = T_H(n) + sp(n) = alpha + beta (-1/2)^n + c/3n^2 + 5c/9n

所以T(n)O(n^2)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM