凸多邊形區域劃分為三角形問題
阿新 • • 發佈:2019-02-03
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