RT:
一个凸多边形区域,有N条边,将其划分为三角形区域,问共有多少种分割方法。
1.我们从最简单情况开始:N=3,f(3)=1;
2.当N=4,f(4)=2;
3.N边时
我们从节点1开始考虑,要想分割成三角形区域,1不能和与它相邻的点连接,所以1可以连接3,4,...,N-1;
假设1连接i,则分割成的两个区域分别为i凸多边形和N+2-i凸多边形,即对于节点1,f1(N)=f(3)f(N+2-3)+f(4)f(N+2-4)+...+f(N-1)f(3);
N多边形共N个点,对应于每个点有f1(N)中分割方法,总的分割方法为f(N)=Nf1(N),但是每增加一条边,其连接两个点,所以在f(N)中有
一半是重复情况,所以最终的分割方法为:
扩展:与此类似的问题还有:
1.n个节点可以构造多少不同的二叉树
(1)n=0时,f(0)=1;
(2)n=1时,f(1)=1;
(3)n=2时,f(2)=4;
(4) f(N)=N(f(0)f(N-1)+f(1)f(N-2)+...+f(i)f(N-1-i)+...+f(N-1)f(0));采用递归的思想,
f(i)f(N-1-i)中f(i)表示左子树有i个节点可构造的二叉树数目,f(N-1-i)表示右子树有N-1-i个节点可构造的二叉树数目;
两者相乘表示左右分别为i,N-1-i个节点时候这个大的二叉树的构造数目,又由于根节点的选择有N中选择方法,
所以可得总的构造方法数目如上式。
转自http://www.cnblogs.com/lixiaohui-ambition/archive/2013/01/09/2853519.html