首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
考研
一棵二叉树的繁茂度定义为R层结点数的最大值与树的高度的乘积。编写一个算法求二叉树的繁茂度。
一棵二叉树的繁茂度定义为R层结点数的最大值与树的高度的乘积。编写一个算法求二叉树的繁茂度。
admin
2012-06-26
109
问题
一棵二叉树的繁茂度定义为R层结点数的最大值与树的高度的乘积。编写一个算法求二叉树的繁茂度。
选项
答案
typedef struct BiTNode{ TElemType data; struct BiTNode*lchild;*rchild; //左、右孩子指针 }BiTNode,*BiTree; typedef struct{ BiTNode node; int layer; }BTNRecord; //包含结点所在层次的记录类型 int FanMao(Bitree T){ int count[MAX]; //count数组存放每一层的结点数 InitQueue(Q); //Q的元素为BTNRecord类型 EnQueue(Q,{T,0}); while(!QueueEmpty(Q)){ //利用层序遍历来统计各层的结点数 DeQueue(Q,r); count[r.layer]++: if(r.node一>ichild) EnQueue(Q,{r.node一>ichild,r.layer+l}); if(r.node一>rchild) EnQueue(Q,{r.node一>rchild,r.layer+1)); } h=r.layer; //最后一个队列元素所在层就是树的高度 for(maxn=count[0],i=1;count[i];i++) if(count[i]>maxn) maxn=count[i]; //求层最大结点数 return h*maxn; }
解析
要用层次遍历以及队列来处理,可增设一个宽度计数器,在统计完每一层的结点个数之后,再从计数器中挑出最大值。
转载请注明原文地址:https://kaotiyun.com/show/mfxi777K
本试题收录于:
计算机408题库学硕统考专业分类
0
计算机408
学硕统考专业
相关试题推荐
确定我国经济体制改革目标的核心问题是正确认识和处理()。
19世纪三四十年代,欧洲无产阶级作为独立的政治力量登上政治历史舞台的历史条件包括()。①资本主义制度的全面确立②科学社会主义诞生③资本主义经济危机的发生④工业革命使社会日益分裂为两大阵营
明清时期,我国农作物产量有所提高,养活了更多的人口,这种现象并不是由于()。
以下对于清初恢复发展经济的措施论述正确的一项是()。①停止圈地②“更名田”③奖励垦荒④整顿赋役制度⑤废除匠籍
中共十四届六中全会《关于加强社会主义精神文明建设若干重要问题的决议》,强调要()。
下列选项中对中国新民主主义革命和旧民主主义革命的比较,正确的是()①是中国资产阶级民主革命进程总的两个阶段②两者的根本区别在于领导阶级的不同③两者的指导思想和革命前途不同④两者的革命性质和根本任务没有变化
在王安石变法所采取的措施中,最容易引起“隐匿田亩、逃避赋税”之人激烈反对的是()。
简述当代科技革命发生的背景条件。
以德国宗教改革为例分析宗教改革产生的原因和作用。
系统总线中地址线的功能是用于选择()。
随机试题
(2013年)下列关于对外贸易经营者及其管理的表述中,符合对外贸易法律制度规定的是()。
下列各项中影响森林公园的景观质量的因素有()。
()水质资料包括含铁、含氧、含油、含悬浮物等项目。
有关交叉反应的描述,正确的是
品种法,是指以产品品种作为成本计算对象,归集和分配生产成本,计算产品成本的一种方法。这种方法一般适用于单步骤、大量生产的企业。()
教育随笔的特点包括()
下列不属于军队作战文书的是()。
从招生上看,不再免费招收贫寒子弟,而是以高额学费招收新兴资产阶级和富裕家庭子弟。出现这一转变的时期是
中国历史上第一次比较完全意义上的资产阶级民主革命是
积分
最新回复
(
0
)