2017-09-27 44 views
-2
function rec (n:integer); 
    begin 
     if n<=1 then 
      return (1) 
     else 
      return(rec(n-1)+rec(n-1)+rec(n-1)) 
    end 

我的復發如下,我很困惑表達這種復發作爲n的函數。 我認爲方程式是一些什麼樣的; T(n)= 3T(n-1)+2。如何計算以下模塊的θ值作爲n的函數?

+0

對不起,但這顯然不是python。你在用什麼語言? –

+0

對不起,這只是一個僞代碼,我只需要一種計算方法。 – Jiwan

回答

0

考慮此功能的一個稍微更一般的版本:

enter image description here

重新替代這個入本身多次以發現一個圖案新興:

enter image description here

重複的處理之後爲m次。

我們什麼時候停止?此復發停止條件n <= 1,所以:

enter image description here

因此對於T表達式變爲:

enter image description here

替代中的數字,a = 3, b = 1, c = 2

enter image description here

請注意,我們忽略了最大值爲m的任何舍入,因爲整數舍入誤差的最大值爲0.5,因此只給出常數因子差異。