[理工] [资结]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