我在java中有一棵树的节点有这个类
public class Node {
Node (int v, Node lt, Node rt){
value = v;
left = lt;
right = rt;
height = 0;
parent = null;
}
Node (int v){
this (v, null, null);
}
int value;
int height;
Node left;
Node right;
Node parent;
}
此节点的高度为(this.right.height-this.left.height)
该节点只有一个子节点且其子节点为叶子的节点的高度和高度,如果子节点为右子节点,则为1;如果子节点为左子节点,则该节点的高度为-1
我怎样才能做到这一点??
(我想写一个avl树)
试试下面的一个
public int height(Node root){
if(root == null)return 0;
return 1+Max(height(root.left),height(root.right));
}
heightDifference = (height(this.right) - height(this.left))
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句