Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/309.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 如何在树中求右子代的高度减去左子代的高度_Java_Data Structures_Binary Tree_Avl Tree - Fatal编程技术网

Java 如何在树中求右子代的高度减去左子代的高度

Java 如何在树中求右子代的高度减去左子代的高度,java,data-structures,binary-tree,avl-tree,Java,Data Structures,Binary Tree,Avl Tree,我有一个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 pa

我有一个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)) 
限制左侧和右侧的高度差仅为1倍。你可以看一看,虽然它不被接受。