我得到了具有分支因子 b 的大小为 N 的树的数量,并尝试在不使用单独的递归函数来生成嵌套 for 循环的数量的情况下生成加泰罗尼亚数。
到目前为止我已经尝试过了
int catalan(int size, int b)
{
int n = 0;
int c = b;
if (size < 2)
{
return 1;
}
if (b <= 0)
{
return n;
}
while(c--)
{
for (int s = 0; s < size; s++)
{
n += (catalan(s,b) * catalan(size-1-s-c, b) );
}
catalan(size--,c);
}
return n;
}
对于 4 的大小和 2 的分支因子,我希望这个函数返回 14,但我收到的是 21。
提前致谢。