作者: a1b2c3d4e5x (int a[], int n) 看板: Examination
標題: [疑問] 費氏級數程式問題。
時間: Wed Jun 6 10:15:41 2012



費式級數F(n)定義為,
1. n , n = 0 或 n = 1
2. F(n-1) + F(n-2) , n > 2

那遞迴程式判斷只能寫成:

if(n == 0 || n == 1) return n;
else return F(n-1) + F(n-2);

不能寫成以下嗎?

if(n < 0) return -1;
else if(n < 2) return n;
else return F(n-1) + F(n-2);

上面的因為有判斷n為負的情況,

應該比較嚴謹,考試的時候可以寫嗎?


還有,

因為遞迴費氏級數時間複雜度為O(2^n)
//符號不會打所以用這個表示

但遞迴版也可以改成只要O(n)

考試時若沒指定是否就不能自己改成更好的版本呢?



以上。



--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 1.167.87.139

arrow
arrow
    全站熱搜
    創作者介紹
    創作者 每日有用新聞 的頭像
    每日有用新聞

    每日有用新聞

    每日有用新聞 發表在 痞客邦 留言(0) 人氣()