二叉排序树的所有可能形态数
- 描述
-
二叉排序树具有以下性质,如果任一结点的左子树非空,则左子树中的所有结点的关键码都小于根结点的关键码;如果任一结点的右子树非空,则右子树中的所有结点的关键码都大于根结点的关键码。n个结点的二叉排序树(编号分别为1,2,3,…,n)的所有可能形态数是Cn,这些形态可以分成分别以编号为1,2,3,…,n的结点为根结点的n类。以n=3时的二叉排序树的形态数为例,这时总的形态数为Cn=5,其中以编号为1的结点为根结点的二叉排序树有2种形态。
请你编程求出:
对于给定的n,n个结点的二叉排序树的所有可能形态数;以及以编号为k的结点为根结点的二叉排序树的所有可能形态数。
- 输入
- 整数n和k(2≤n≤19, 1≤k≤19)。
- 输出
- 2个整数,n个节点的二叉排序树的所有可能形态数, 以及以编号为k的结点为根结点的n个结点的二叉排序树的所有可能形态数。
- 样例输入
-
3 1
- 样例输出
-
5 2