假设二叉树采用二叉链表存储结构,设计一个算法,求非空二叉树b的宽度(即具有结点数最多的那一层的结点个数)。

题目描述:假设二叉树采用二叉链表存储结构,设计一个算法,求非空二叉树b的宽度(即具有结点数最多的那一层的结点个数)。

分析: 每次递归时,如果当前结点不为空,就将当前层数的宽度+1,并更新最大宽度。然后递归遍历左右子树,将层数加1。 最后最大宽度在全局变量 MAX 里。

c 复制代码
int MAX = -1;		//存放最大宽度
int width[100];	//每层的宽度
void Width(BiTree T,int k){    //k为层数,初始值为 0
	if(T == NULL)
		return;
	width[k]++;
	MAX = MAX < count[k] ? count[k] : MAX;
	Width(T->lchild,k + 1);
	Width(T->rchild,k + 1);
}
相关推荐
独自破碎E29 分钟前
【面试真题拆解】5秒内限10次HTTP接口访问,结合数据结构和算法说说你的思路
数据结构·http·面试
扶摇接北海17639 分钟前
洛谷:P5732 【深基5.习7】杨辉三角
数据结构·c++·算法
handler011 小时前
算法:Trie树(字典树)
c语言·数据结构·c++·笔记·算法·深度优先
6+h1 小时前
【Redis】数据结构讲解
数据结构·数据库·redis
阿Y加油吧1 小时前
力扣打卡day06——滑动窗口最大值、最小覆盖子串
数据结构·算法·leetcode
沉鱼.441 小时前
日期题目集
数据结构·算法
Book思议-1 小时前
【数据结构考研真题】链表题
c语言·数据结构·算法·链表·408·计算机考研
⁤⁢初遇1 小时前
数据结构---排序
数据结构·算法·排序算法
Rainy Blue8831 小时前
前缀和与差分(蓝桥杯高频考点)
数据结构·算法·蓝桥杯
夏日听雨眠2 小时前
数据结构(单循环链表)
数据结构·链表