Algorithm 二叉树未标记节点

Algorithm 二叉树未标记节点,algorithm,binary-tree,Algorithm,Binary Tree,可以使用3个未标记节点形成的二叉树数 有几个地方的答案是5 但根据我的回答应该是1,因为我们将使用三个节点生成的所有树都是同构的。由n个节点生成的树的数量等于n个 更准确地说,这里是形成的树的递归方程:- T(n) = sum(T(i)*T(n-1-i)) where i in (0,n-1) 示例:- 考虑5个节点的二叉树 保留一个作为根,我们可以将其余的4分为以下子树a (1,3)、(2,2)、(3,1),其中第一个元组是左子树,第二个元组是右子树 子树 您还可以对子树进行不同的排列,因此

可以使用3个未标记节点形成的二叉树数

有几个地方的答案是5


但根据我的回答应该是1,因为我们将使用三个节点生成的所有树都是同构的。

由n个节点生成的树的数量等于n个

更准确地说,这里是形成的树的递归方程:-

T(n) = sum(T(i)*T(n-1-i)) where i in (0,n-1)
示例:-

考虑5个节点的二叉树

  • 保留一个作为根,我们可以将其余的4分为以下子树a

    (1,3)、(2,2)、(3,1),其中第一个元组是左子树,第二个元组是右子树 子树

  • 您还可以对子树进行不同的排列,因此:-

    T(5)=T(1)*T(3)+T(2)*T(2)+T(3)*T(1)

  • 上述方法可以推广到上面给出的递推关系,这些递推关系可以用advance计算为加泰罗尼亚数 数学

  • 您的示例:-


    请逻辑解释。@user3288929检查我的例子也许你在想完整的树,但一行中的三个节点也是二叉树。
    T(3) = T(1)*T(1) + T(2)*T(0) + T(0)*T(2)
    
    As T(2) = 2 (1 right aligned & 1 left aligned tree)   and T(1) = 1 , T(0) = 1
    
    T(3) = 1*1 + 2*1 + 1*2 = 5