数据l构W六章算法设计题[3]_跨考网
1Q编E求以孩子—兄弟表C法存储的森林的叶子l点数。要求描q结构。?a target="_blank">北京工业大学2000?/span>(10?/span>)?/span>
【参考答案?/span>
[题目分析]当森林(树)以孩子兄弟表C法存储Ӟ若结Ҏ(gu)有孩子(fch=nullQ?/span>,则它必是叶子Qȝ叶子l点个数是孩子子树(fchQ上的叶子数和兄弟(nsibQ子树上叶结点个C和?/span>
typedef struct node
{ElemType data;//数据?/span>
struct node *fch, *nsib;//孩子与兄弟域 }*Tree;
int Leaves (Tree t)
//计算以孩?/span>-兄弟表示法存储的林的叶子数
{if(t)
if(t->fch==null) //若结Ҏ(gu)孩子Q则该结点必是叶?/span>
return(1+Leaves(t->nsib)); //q回叶子l点和其兄弟子树中的叶子l点?/span>
else return (Leaves(t->fch)+Leaves(t->nsib)); //孩子子树和兄弟子树中叶子C?/span>
}//l束Leaves
2Q假定用两个一l数l?/span>L[N]?/span>R[N]作ؓ?/span>N个结?/span>1Q?/span>2,…, N的二元树的存储结构?/span>L[i]?/span>R[i]分别指示l点 i的左儿子和右儿子Q?/span>L[i]=0Q?/span>R[i]=0Q表C?/span>i的左Q右Q儿子ؓI。试写一个算法,?/span>L?/span>R建立一个一l数l?/span>T[n]QT[i]存放l点i的父Ԍ然后再写一个判别结?/span>U是否为结?/span>V的后代的法。?a target="_blank">哈尔滨工业大?/a> 1999 ?/span> (14?/span>)?/span>
【参考答案?/span>
[题目分析]由指C结?/span>i 左儿子和叛_子的两个一l数l?/span>L[i]?/span>R[i]Q很Ҏ(gu)建立指示l点i 的双亲的一l数l?/span>T[i]Q根?/span>T数组Q判断结?/span>U是否是结?/span>V后代的算法,转ؓ判断l点V是否是结?/span>U的祖先的问题?/span>
int Generation (int U,V,N,L[],R[],T[])
//L[]?/span>R[]是含?/span>N个元素且指示二叉树结?/span>i左儿子和叛_子的一l数l,
//本算法据此徏立结?/span>i的双亲数l?/span>TQƈ判断l点U是否是结?/span>V的后代?/span>
{for(i=1;i<=N;i++) T[i]=0; //T数组初始?/span>
for (i=1;i<=N;i++) //Ҏ(gu)L?/span>R填写T
if(L[i]!=0) T[L[i]]=i; //若结?/span>i的左子女?/span>LQ则l点L的双亲是l点i
for(i=1;i<=N;i++)
if (R[i]!=0) T[R[i]]=i; //i的右子女?/span>rQ则r的双亲是i
int parent=U; //判断U是否?/span>V的后?/span>
while (parent!=V && parent!=0) parent=T[parent];
if (parent==V){printf(“结?/span>U是结?/span>V的后代?/span>);return(1);}
else{ printf(“结?/span>U不是l点V 的后代?/span>);return(0);}
}l束Generation
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> |