看板 TransCSI 關於我們 聯絡資訊
※ 引述《fzrmitsul (我的妹妹很可愛)》之銘言: : Fun(n:integer) : begin : if (n=0 or 1) then : Fun=1 : else : Fun=Fun(n-1)+Fun(n-2) : end. : 請問時間複雜度為何? : (a)O(nlogn) (b)O(n^2) (c)O(2^n) (d)O(n!) : 對於這一類的題目,小弟實在不知該怎麼判別。 : 可否請教前輩能指導。謝謝 因為 要算 Fn 時 必須分別先算 Fn-1 , Fn-2 令 計算 Fn 的時間為 T(n) => T(n) = T(n-1) + T(n-2) , T(0)=T(1) = O(1) 接下來 利用離散數學所學的解遞迴的方式 可以解出T(n) (數字很複雜) 所以複雜度大約為 (√5)+1 ^N [ ---------- ] 2 所以是 (c)O(2^n) -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 114.45.50.20
fzrmitsul:謝謝a大^^ 06/20 23:53