什么是可能的有序树木N个节点的总数是多少?(What are the total number of

2019-10-30 07:32发布

例如,对于N = 3,我们可以通过列出所有这些很容易找到,但当问我面临的问题任意N值。

Answer 1:

如果您正在寻找在二叉树那么,作为mcdowella说,选择(2N,N)/(N + 1)(Catalan数)就是答案。

如果您正在寻找在任意树木那么它可能是ñ。 ñ^(N-2)= N ^(N-1),但我不能完全确定。 Prufer的算法中告诉我们,有n ^(N-2)标记的树,任何一个节点都可以做了根,所以我们得到的数n ^(N-1)。



Answer 2:

这是覆盖在克努特第1卷(计算机程序设计艺术:基本算法)部分2.3.4.4大约有一半的数学的页面让你选择(2N,N)/(N + 1)和搜索序列中克努特发现HTTP ://oeis.org/A000108



Answer 3:

你可以去像这样使用动态规划:
让我们来fix element i as the root的树。 现在,我们需要知道how many different trees ,我们可以形成the first (i-1) elements and the rest (ni-1) elements
所以我们按照这两个子阵列相同的步骤(i-1)(ni-1)得到如下复发:

式:

胶乳:

树木[N]&空间; =&空间; \ sum_ {I&空间; =&空间; 2} ^ {I&空间; =&空间; N-1}&空间;树木[I-1] *树[NI-1]



Answer 4:

二叉树(2N,N)/(N + 1)(Catalan数)作为答案如果大于n ^(N-2)的树木标记树。



文章来源: What are the total number of possible ordered trees with N nodes?