作者: 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
標題: [疑問] 費氏級數程式問題。
時間: 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
全站熱搜
留言列表