判断一棵树是否为平衡二叉树

132 阅读1分钟

代码:

平衡二叉树(Balanced Binary Tree)又被称为AVL树(有别于AVL算法),且具有以下性质:它是一 棵空树或它的左右两个子树的高度差的绝对值不超过1,并且左右两个子树都是一棵平衡二叉树。构造与调整方法 平衡二叉树的常用算法有红黑树、AVL、 Treap 等。 最小二叉平衡树的节点的公式如下 F(n)=F(n-1)+F(n-2)+1 这个类似于一个递归的 数列 ,可以参考Fibonacci(斐波那契)数列,1是根节点,F(n-1)是左子树的节点数量,F(n-2)是右子树的节点数量。

 

package com.sangfor.tree;


public class Node {
	public int value;
	public Node left;
	public Node right;
	public Node(int value) {
		this.value = value;
	}
}

 

package com.sangfor.tree;

public class IsBalanceTree {
   public static void main(String[] args) {
	     Node node1 &#