数据l构W六章算法设计题[17]_跨考网
1Q设某二叉树l点l构?/span>:
TYPE bitreptr=^bnodetp;
bnodetp=RECORD data:integer; lchild,rchild:bitreptr END;
试编写算法,计算每层中结?/span>data域数值大?/span>50的结点个敎ͼq输些结点的data域的数值和序号。?a target="_blank">北京工业大学 1998 ?/span>(10?/span>)?/span>
【参考答案?/span>
[题目分析] 计算每层中结点值大?/span>50的结点个敎ͼ应按层次遍历。设一队列QQ用front?/span>rear分别指向队头和队օ素,last指向各层最右结点的位置。存攑ր大?/span>50的结点结构ؓ
typedef struct {int level,value,idx; }node;//元素所在层受值和本层中的序号
node a[],s;
void ValueGT50(BiTree bt)//查各层中l点值大?/span>50的结点个敎ͼ输出其值及序号
{if(bt!=null)
{int front=0,last=1,rear=1,level=1,i=0,num=0;//num?/span>>50的结点个?/span>
BiTree Q[];Q[1]=bt;//根结点入?/span>
while(front<=last)
{bt=Q[++front];
if(bt->data>50){s.level=level; s.idx=++i; s.value=bt->data; a[++num]=s;}
if(bt->lchild!=null) Q[++rear]=bt->lchild;//左子奛_队列
if(bt->rchild!=null) Q[++rear]=bt->rchild;//叛_奛_队列
if(front==last) {last=rear; level++; i=0;} //本层最后一个结点已处理?/span>
} //初始化下层:last指向下层最右结点,层号?/span>1Q下?/span>>50的序号初始ؓ0
}//while
for(i=1;i<=num;i++) //输出data域数值大?/span>50的结点的层号?/span>data域的数值和序号
printf(“层?/span>=%3d,本层序号=%3dQ?/span>=%3d”,a[i].level,a[i].idx,a[i].value);
}//法ValueGT50l束
2022考研初复试已l接q尾壎ͼ考研学子全面q入2023届备?/b>Q跨考ؓ23考研的考生准备?0大课包全E准备、全q复习备考计划、目标院校专业辅对{全真复试模拟练习和全程针对性指|2023考研的小伙伴针也已经开始择校和复习了,跨考考研畅学5.0版本全新升Q无Z在校在家都可以更自如的完成你的考研复习Q?/a>暑假集训?/span>带来了院校专业初步选择Q明方向;考研备考全q规划,核心知识点入门;个性化制定备考方案,助你赢在赯U,早出发一点离成功更q一点!
考研院校专业选择和考研复习计划 | |||
2023备考学?/td> | 2023U上U下随时学习 | 34所自划UK校考研复试分数U汇?/td> | |
2022考研复试最全信息整?/a> | 全国各招生院校考研复试分数U汇?/a> | ||
2023全日制封闭训l?/span> | 全国各招生院校考研调剂信息汇?/a> | ||
2023考研先知 | 考研考试U目有哪些? | 如何正确看待考研分数U? | |
不同院校相同专业如何选择更适合自己?/a> | 从就业说考研如何择专业? | ||
手把手教你如何选专业? | 高校研究生教育各学科门类排行?/a> |
相关推荐
跨考考研评
班型 | 定向班型 | 开班时?/td> | 高定?/td> | 标准?/td> | 评介绍 | 咨询 |
U季集训 | 冲刺?/td> | 9.10-12.20 | 168000 | 24800?/td> | 班面授+专业??+专业译֮向辅?协议加强评(高定?+专属规划{疑(高定?+_化答?复试资源(高定?+复试译(高定?+复试指导(高定?+复试班主?v1服务(高定?+复试面授密训(高定?+复试1v1(高定? | |
2023集训畅学 | 非定向(政英?数政qQ?/td> | 每月20?/td> | 22800?协议? | 13800?/td> | 先行阶在U课E?基础阶在U课E?强化阶在U课E?真题阶在U课E?冲刺阶在U课E?专业NҎ(gu)一对一评+班主dE督学服?全程规划体系+全程试体系+全程_化答?择校择专业能力定位体p?全年关键环节指导体系+初试加强?初试专属服务+复试全科标准班服?/td> |