5个点的不同二叉树有多少个?
发布网友
发布时间:2022-08-07 10:37
我来回答
共2个回答
热心网友
时间:2024-12-04 08:24
有公式可计算
(C上面n,下面2n)*1/(n+1)
所以答案是6
(C上面n,下面2n)是指从2n个里面取n个不相等的组合数
热心网友
时间:2024-12-04 08:25
这是一道很经典的题目,这里需要用到一个数列,叫做catalan数,下面是一些关于catalan数的介绍
catalan数
原理:
令h(1)=1,catalan数满足递归式:
h(n)=
h(1)*h(n-1)
+
h(2)*h(n-2)
+
...
+
h(n-1)h(1)
(其中n>=2)
该递推关系的解为:h(n)=c(2n-2,n-1)/n
(n=1,2,3,...)
我并不关心其解是怎么求出来的,我只想知道怎么用catalan数分析问题。
我总结了一下,最典型的三类应用:(实质上却都一样,无非是递归等式的应用,就看你能不能分解问题写出递归式了)
1.括号化问题。
矩阵链乘:
p=a1×a2×a3×……×an,依据乘法结合律,不改变其顺序,只用括号表示成对的乘积,试问有几种括号化的方案?(h(n)种)
2.出栈次序问题。
一个栈(无穷大)的进栈序列为1,2,3,..n,有多少个不同的出栈序列?
3.将多边行划分为三角形问题。
将一个凸多边形区域分成三角形区域的方法数?
除此之外,还可以用来求具有n个结点的树能有多少个形态,但是因为树的根结点是固定的,所以要将n减去1。再用公式就可以求出来了。
不过答案好象不是6啊,是14……