[理工] [資結]binomial coefficient遞迴的小疑問

作者: shownlin (哈哈阿喔)   2017-04-19 10:41:12
一個小問題
因為大部分的答案好像都這樣寫
int binomialCoeff(int n, int k)
{
// Base Cases
if (k==0 || k==n)
return 1;
return binomialCoeff(n-1, k-1) + binomialCoeff(n-1, k);
}
想請問是不是資料結構中的答案都不用考慮結果為0的initial conditions?
作者: outofyou   2017-04-19 10:47:00
結果為0是什麼意思?課本上的extended binomial定義結果必不為0,k必不為負
作者: shownlin (哈哈阿喔)   2017-04-19 11:31:00
原來如此,非常感謝
作者: outofyou   2017-04-19 11:36:00
我錯了n==0或n<k還是應該return0範例答案輸入若符合n>=k且k>=0,確實不需多考慮起始條件範例答案會缺漏起始條件是在n<k時,無窮迴圈。建議起始條件為if(k==0)return 1;else if(n<k)return 0;可注意的是雖然n<k,C(-1,0)=1而不是=0 by definition有錯,請看回文

Links booklink

Contact Us: admin [ a t ] ucptt.com