如果对于 T 中的每个节点 m,二叉树 T 是半平衡的:
R(m)/2 <= L(m) <= 2*R(m),
其中 L(m) 是 m 的左子树中的节点数,R(m) 是 m 的右子树中的节点数。
(a) 写一个递推关系来计算具有 N 个节点的半平衡二叉树的数量。
(b) 提供一个动态规划算法来计算 (a) 中的递归。
我该如何为此建立递归关系?
以下是否符合条件?
if(node==NULL)
return;
if(given relation is true)
count++
else find for right tree;
find for left tree;
我猜他是在问更多的递归关系,比如函数之类的。?
另外,我该如何使用动态编程来解决问题?我想如果我应用上面建议的代码片段,我不需要存储任何东西。
请帮忙。