问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

求二叉树的宽度的程序

发布网友 发布时间:2022-04-24 10:03

我来回答

2个回答

热心网友 时间:2023-04-25 04:03

要求二叉树的宽度的话,则可根据树的高度设置一个数组temp。temp[i]用于存放第i层上的结点数(即宽度)。在访问结点时,把相应计算该结点下一层的孩子数并存入相应数组元素中,遍历左子树后向上返回一层计算右子树的宽度,并取出最大的一个数组元素作为树的宽度。

#define M 10 //假设二叉树最多的层数
int Width(BinTree T)
{
int static n[M];//向量存放各层结点数
int static i=1;
int static max=0;//最大宽度
if(T)
{
if(i==1) //若是访问根结点
{
n[i]++; //第1层加1
i++; //到第2层
if(T->lchild)//若有左孩子则该层加1
n[i]++;
if(T->rchild)//若有右孩子则该层加1
n[i]++;
}
else
{ //访问子树结点
i++; //下一层结点数
if(T->lchild)
n[i]++;
if(T->rchild)
n[i]++;
}
if(max<n[i])max=n[i];//取出最大值
Width(T->lchild);//遍历左子树
i--; //往上退一层
Width(T->rchild);//遍历右子树
}
return max;
}//算法结束

希望可以给你帮助!

热心网友 时间:2023-04-25 04:04

就是按层次遍历,在每层里判断一个该层的结点值
代码很简单,修改一下层次遍历的代码就好了
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
ups快递客服电话24小时 贷款记录在征信保留几年? 安徽徽商城有限公司公司简介 安徽省徽商集团新能源股份有限公司基本情况 安徽省徽商集团有限公司经营理念 2019哈尔滨煤气费怎么有税? 快手删除的作品如何恢复 体育理念体育理念 有关体育的格言和理念 什么是体育理念 编写计算二叉树最大宽度的算法 绝地求生缺少dxgi.dll怎么办0v0 绝地求生缺少msvcp140.dll这个文件怎么办啊 求大神解决 有大佬吗 刚买的绝地求生 显示缺失这个dll 但是检查了目录并没有缺失 怎么办 绝地求生进不去,弹出缺少什么DLL文件 绝地求生缺少dll 为什么在5 g覆盖地用5g手机没有5g信号? 没有5G网络? 如果没有5G网络的地方可不可以使用5G手机? 5G制式的手机有没有5寸屏的? 买5G手机但是自己所在的城市还没有5G网会影响使用吗? 我想问下现在的5G手机只能用5G套餐吗,那到了没有5G的地方要怎么更换,是不是直接换套餐? 荣耀50为什么没5g信号了? 手机不显示5g? 深秋时节,小红来到北京,看到香山上满山的枫叶像火一样红,不禁吟诵起?请填写恰当的诗句 北京小红车押金要不回来怎么办? 小红罐是哪里产的? 为什么小红从北京到纽约后白天很想睡觉晚上却睡不着呢? 小明与小红(北京)文化传媒有限公司怎么样? 北京环保小红箱科技有限公司怎么样? 怎么用层次遍历(采用队列实现)求二叉树的深度。 什么是二叉树宽度优先遍历 求高手编写一用层次遍历求二叉树深度的程序,谢谢 江西省二套房贷首付多少 层次遍历一棵二叉树 层次遍历建立二叉树 求二叉树的深度(深度优先)用栈 南昌市区本人想买二套房,首付要付多少? 层序遍历二叉树 二叉树层次遍历算法 编写算法实现对二叉树进行按层次遍历 九江二套房首付比例是多少? 写一个java层次遍历二叉树,简单点就可以,我要的是代码,不是纯文字说明 二叉树层次遍历怎么进行? 江西二套房首付比例,第一套房按揭已还完。 求二叉树的层次遍历代码,求高手!!! 给出层次遍历的结果 求建立二叉树的过程 成恩的介绍 韩国演员成恩的资料?图? 成恩过去有哪些作品