// FindNumberOfBSTFromN.cpp : Defines the entry point for the console application.
//
#include "stdafx.h"
#include <vector>
#include <iostream>
using namespace std;
int F(int);
int f(int, int);
int f(int i, int N)
{
if (i == 1 || i == N)
{
return F(N-1);
}
return F(i-1)*F(N-i);
}
int F(int N)
{
if (N < 1)
{
return 0;
}
if (N == 1)
{
return 1;
}
if (N == 2)
{
return 2;
}
int sum = 0;
for (int i = 1; i <=N; i++)
{
sum += f(i, N);
}
return sum;
}
int _tmain(int argc, _TCHAR* argv[])
{
int Num = F(5);
printf("%d\r\n", Num);
return 0;
}
LeetCode Unique Binary Search Trees
最新推荐文章于 2020-02-29 22:29:24 发布
本文介绍了如何通过递归方法计算给定节点数时可能构建的不同二叉搜索树的数量。利用函数`f`计算单个节点的贡献,再通过函数`F`汇总所有可能的组合,最终输出给定节点数下所有可能的二叉搜索树数量。

459

被折叠的 条评论
为什么被折叠?



