假设二叉树采用二叉链表存储结构,设计一个算法,求非空二叉树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);
}
相关推荐
SsummerC1 小时前
【leetcode100】每日温度
数据结构·python·leetcode
jingshaoyou1 小时前
Strongswan linked_list_t链表 注释可独立运行测试
数据结构·链表·网络安全·list
逸狼5 小时前
【Java 优选算法】二分算法(下)
数据结构
云 无 心 以 出 岫7 小时前
贪心算法QwQ
数据结构·c++·算法·贪心算法
姜威鱼9 小时前
蓝桥杯python编程每日刷题 day 21
数据结构·算法·蓝桥杯
神里流~霜灭9 小时前
蓝桥备赛指南(12)· 省赛(构造or枚举)
c语言·数据结构·c++·算法·枚举·蓝桥·构造
双叶83610 小时前
(C语言)单链表(1.0)(单链表教程)(数据结构,指针)
c语言·开发语言·数据结构·算法·游戏
学习编程的gas11 小时前
数据结构——队列的实现
数据结构
wuqingshun31415911 小时前
蓝桥杯 切割
数据结构·c++·算法·职场和发展·蓝桥杯
JohnFF12 小时前
48. 旋转图像
数据结构·算法·leetcode