利用二叉树遍历的思想编写一个判断二叉树是否是平衡二叉树的算法

题目描述:利用二叉树遍历的思想编写一个判断二叉树是否是平衡二叉树的算法。

分析: 设置二叉树的平衡标记为balance,若 balance 为 1,则是平衡二叉树,若为0,则不是。

void Judge_AVL(BiTree T,int &balance,int &h){
   
	int bl = 0,br = 0,hl = 0,hr = 0;
	if(T == NULL){
   
		balance = 1;
		h = 0;
	}
	else
		if(T->lchild == NULL && T->rchild == NULL){
   
			balance = 1;
			h = 1;
		}
	else{
   
		Judge_AVL(T->lchild,bl,hl);
		Judge_AVL(T->rchild,br,hr);
		if(abs(hl - hr) < 2)
			balance = bl && br;
		else 
			balance = 0;
	}
	
}

相关推荐

  1. 【golang】

    2023-12-18 03:58:01       41 阅读
  2. 2023-12-18 03:58:01       31 阅读
  3. 2023-12-18 03:58:01       29 阅读

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2023-12-18 03:58:01       98 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2023-12-18 03:58:01       106 阅读
  3. 在Django里面运行非项目文件

    2023-12-18 03:58:01       87 阅读
  4. Python语言-面向对象

    2023-12-18 03:58:01       96 阅读

热门阅读

  1. React 实现列表页和列表详情页功能

    2023-12-18 03:58:01       53 阅读
  2. 跳跃游戏 + 45. 跳跃游戏 II

    2023-12-18 03:58:01       72 阅读
  3. QEMU源码全解析 —— virtio(10)

    2023-12-18 03:58:01       64 阅读
  4. 解决Qt UI界面卡顿的优化方法

    2023-12-18 03:58:01       70 阅读
  5. C++11——lambda

    2023-12-18 03:58:01       55 阅读
  6. 【力扣100】141.环形链表

    2023-12-18 03:58:01       58 阅读
  7. 重启docker容器后,ssh无法访问且浏览器无法访问

    2023-12-18 03:58:01       43 阅读