这是一个求n个无差别的节点构成的二叉树有多少种不同的结构的问题。
我们假设n个无差别的节点构成不同的结构数为f(n),f(0)表示空树,所以种数为1种。
计数原理进行分类:
- 以第1个节点为头时,结构数为
f(0)*f(n-1)
//左子树是空树,右子树是n-1个点组成的子树- 以第2个节点为头时,结构数为
f(1)*f(n-2)
//左子树是1个点组成的子树,右子树是n-1个点组成的子树- 以3节点为头时,结构数为
f(2)*f(n-3)
etc.
显然,我们知道f(0)=1,f(1)=1,f(2)=2,f(3)=5
然后我们可以由计数原理知道
卡特兰数的1个格式: