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

看板Grad-ProbAsk作者 (哈哈阿喔)時間8年前 (2017/04/19 10:41), 8年前編輯推噓1(109)
留言10則, 2人參與, 最新討論串1/2 (看更多)
一個小問題 因為大部分的答案好像都這樣寫 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? -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 49.217.23.14 ※ 文章網址: https://www.ptt.cc/bbs/Grad-ProbAsk/M.1492569675.A.C24.html

04/19 10:47, , 1F
結果為0是什麼意思?
04/19 10:47, 1F
恩…就是當n<k或n==0的時候應該是return 0? ※ 編輯: shownlin (49.217.23.14), 04/19/2017 10:55:48

04/19 11:24, , 2F
課本上的extended binomial定義結果必不為0,k必不為負
04/19 11:24, 2F

04/19 11:31, , 3F
原來如此,非常感謝
04/19 11:31, 3F

04/19 11:36, , 4F
我錯了
04/19 11:36, 4F

04/19 11:43, , 5F
n==0或n<k還是應該return0
04/19 11:43, 5F

04/19 12:11, , 6F
範例答案輸入若符合n>=k且k>=0,確實不需多考慮起始條件
04/19 12:11, 6F

04/19 12:13, , 7F
範例答案會缺漏起始條件是在n<k時,無窮迴圈。
04/19 12:13, 7F

04/19 12:20, , 8F
建議起始條件為if(k==0)return 1;else if(n<k)return 0;
04/19 12:20, 8F

04/19 12:28, , 9F
可注意的是雖然n<k,C(-1,0)=1而不是=0 by definition
04/19 12:28, 9F

04/19 15:23, , 10F
有錯,請看回文
04/19 15:23, 10F
文章代碼(AID): #1OzivBma (Grad-ProbAsk)
文章代碼(AID): #1OzivBma (Grad-ProbAsk)