Tree 与';N';没有节点,可能有多少不同的二进制和二进制搜索树? < 2>强>二叉树:< /强>不需要考虑树节点值,我只对具有n个节点的不同树拓扑感兴趣。 二叉搜索树:我们必须考虑树节点值。 < P> Eric Lippert最近有一系列很深的博客文章关于这个:“和”(再加上一些之后)。
在回答你的具体问题时,他说:Tree 与';N';没有节点,可能有多少不同的二进制和二进制搜索树? < 2>强>二叉树:< /强>不需要考虑树节点值,我只对具有n个节点的不同树拓扑感兴趣。 二叉搜索树:我们必须考虑树节点值。 < P> Eric Lippert最近有一系列很深的博客文章关于这个:“和”(再加上一些之后)。,tree,binary-tree,catalan,Tree,Binary Tree,Catalan,在回答你的具体问题时,他说: 具有n个节点的二叉树的数目由给出,具有许多有趣的性质。第n个加泰罗尼亚数由公式(2n)!/(n+1)!N它呈指数增长 我的同事尼克·帕兰特(Nick Parlante,他还是斯坦福大学的时候)推荐我。结构不同的二叉树的计数(问题12)有一个简单的递归解决方案(封闭形式的结果是@codeka的答案已经提到的加泰罗尼亚公式) 我不确定结构上不同的二叉搜索树(简称BST)的数量与“普通”二叉树的数量会有什么不同——除了,如果“考虑树节点值”的意思是每个节点可能是与BST条
具有n个节点的二叉树的数目由给出,具有许多有趣的性质。第n个加泰罗尼亚数由公式(2n)!/(n+1)!N它呈指数增长 我的同事尼克·帕兰特(Nick Parlante,他还是斯坦福大学的时候)推荐我。结构不同的二叉树的计数(问题12)有一个简单的递归解决方案(封闭形式的结果是@codeka的答案已经提到的加泰罗尼亚公式)
我不确定结构上不同的二叉搜索树(简称BST)的数量与“普通”二叉树的数量会有什么不同——除了,如果“考虑树节点值”的意思是每个节点可能是与BST条件兼容的任何数字,那么不同的二叉搜索树(但不是所有结构上都不同!)BSTs是无限的。我怀疑你的意思,所以,请举例说明你的意思 具有n个节点的不同二叉树:
(2n)!/n!*(n+1)!
(1/(n+1))*(2nCn)
式中C=组合,例如
n=6,
possible binary trees=(1/7)*(12C6)=132
我想我给了你一些想法…二叉树的数量可以用 二进制搜索树的数量可以看作是一个递归解决方案。 i、 例如,二叉搜索树的数量=(左二叉搜索子树的数量)*(右二叉搜索子树的数量)*(选择根的方法) 在BST中,只有元素之间的相对顺序才重要。因此,在不损失一般性的情况下,我们可以假设树中的不同元素是1,2,3,4,…,n。同样,对于n个元素,让BST的数量用f(n)表示 现在我们有了选择根的多种情况
如果给定的节点数为N,则 不同数量的BST=加泰罗尼亚(N)
结构上不同的二叉树的不同数量=加泰罗尼亚(N) 不同数量的二叉树是=N*加泰罗尼亚(N)二叉树: 不需要考虑值,我们需要看结构。 由(2次幂n)-n给出 对于三个节点,它是(2次方3)-3=8-3=5个不同的结构 二叉搜索树: 我们需要考虑节点值。我们称之为加泰罗尼亚号码
由2n C n/n+1给出,对于未标记的节点,正确答案应为2nCn/(n+1),如果节点已标记,则(2nCn)*n/(n+1)
- 具有n个不同键的可能的二进制搜索树的总数=
2nCn/(n+1)
For n = 1 --> 1 Binary Search Tree is possible. For n = 2 --> 2 Binary Search Trees are possible. For n = 3 --> 5 Binary Search Trees are possible. For n = 4 --> 14 Binary Search Trees are possible. For n = 5 --> 42 Binary Search Trees are possible. For n = 6 --> 132 Binary Search Trees are possible.```
- 以及具有n个不同键的可能二叉树的总数=
(2nCn/(n+1))*n代码>
For n = 1 --> 1 Binary Search Tree is possible. For n = 2 --> 2 Binary Search Trees are possible. For n = 3 --> 5 Binary Search Trees are possible. For n = 4 --> 14 Binary Search Trees are possible. For n = 5 --> 42 Binary Search Trees are possible. For n = 6 --> 132 Binary Search Trees are possible.```
对于n=4-->可以使用336个二进制搜索树。
(2n)!/(n+1)!n代码>呈指数增长。我们如何为n>11
编写算法来解决这个问题?