作业帮 > 数学 > 作业

请问,n个结点一共能构成多少种不同的二叉树

来源:学生作业帮 编辑:作业帮 分类:数学作业 时间:2024/06/06 09:51:05
请问,n个结点一共能构成多少种不同的二叉树
至于什么是2叉树,这个么……其实很简单(听起来很玄乎),建议百度一下,去百度图片可以搜到,一看图就明白了.
比如,3个结点,就能构成5种不同的2叉树
请构造递推数列,并解出通项.(要求写出构造的思路,
写得好的话还会继续追加哦
这个问题有点难度
先跟你说答案吧(1/n+1)*C(n,2n) 注:C是组合符号
关于这个推导的证明需要一个递推公式:
在n值小的情况下,可以直观看到b0=1 为空树,b1 =1只有一个节点,
b2 = 2, b3 = 5, 所以一般情况下,一个具有n个节点的二叉树可以看是一个根节点,一棵具有i个节点的左子树,和一棵具有n-i-1个节点的右子树组成
写成递推式为:
b0 = 1
b1 = b0*bn + b1*bn-1 + b2* bn-2 . n >=1
(一直做下去可以做出上面结果,不过需要解很多个方程,比较复杂)
另外,以一个堆栈的出栈序列的个数考虑以上问题是另外一种思路