凸多边形区域划分为三角形问题

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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值