节点数等于或小于n的二叉搜索树的数量

时间:2014-06-04 17:53:13

标签: algorithm

我知道N个不同节点可能的不同BST总数由加泰罗尼亚语公式给出。 在SO中描述了in this question

但我们怎样才能用它来找到所有低于或等于n个节点的BST(N个不同的节点)?

例如

对于N = 3

 Possible numbers of BST's are 14.

 9 Shown in Picture below for less than 3.
 5 for N=3 which can be obtained from Catalan formula.

BST FOR N 3

解决方法是什么? 我只需要算法解释

1 个答案:

答案 0 :(得分:0)

数学公式应为:

summation ( C(n,i) * Catalan(i) ) {i = 1 to n}

Where C(n,i) = n! / ( i! * (n-i)! )

您可以i方式从可能的n个节点中选择C(n,i)个节点。选择那些i个节点后,以Catalan(i)个方式形成BST。