我需要编写一个方法来确定二叉树是否平衡。所以首先我必须确定树的每一边的高度。但是我很难理解我将如何计算子树的最大长度,而不计算子树中的所有节点。这个问题很难问我,所以你们可以理解。balanced()二叉树
// primary method
public int Height()
{
int h = height(root);
}
// recursive method
private int height(Node x)
{
if(x == null) return 0;
count++;
height(x.left);
height(x.right);
return count;
}
这是我的代码,用于计算树的最大高度。 但我不知道如何确定只是左侧或右侧的高度, 和这种方法似乎计算在树本身的节点数量。
闻起来像功课! – CoolBeans 2011-04-30 17:37:42
是的,我知道。但这就是为什么我没有要求孔平衡树,只是高度和概念如何开始balnced树。为什么我的代码出来如此studip? – 2011-04-30 17:39:34
愚蠢,对不起... – 2011-04-30 17:40:06