我正在尝试为该算法编写递归关系。但是我对“根”变量感到困惑。谁能帮助我或建议我一个更好的递归算法来计算具有 n 个节点的可能二叉树的数量?
Algorithm countTrees(n) {
if(n<=1) then return 1
else {
sum = 0
for root=1 to root<= n do {
left = countTrees(root-1)
right = countTrees(n-root)
sum = sum+(left*right)
}
return sum
}
}
到目前为止我已经写了这个,但我不知道如何处理根来解决这个问题。
T(n) = n[T(root-1)+T(n-root)]