首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
考研
假定用两个一维数组L[N]和R[N]作为有N个结点1,2,…,N的二叉树的存储结构。L[i]和R[i]分别指示结点i的左儿子和右儿子;L[i]=0(R[i]=0)表示i的左(右)儿子为空。试写一个算法,由L和R建立一个一维数组T[n],使T[i]存放结点i
假定用两个一维数组L[N]和R[N]作为有N个结点1,2,…,N的二叉树的存储结构。L[i]和R[i]分别指示结点i的左儿子和右儿子;L[i]=0(R[i]=0)表示i的左(右)儿子为空。试写一个算法,由L和R建立一个一维数组T[n],使T[i]存放结点i
admin
2019-08-01
28
问题
假定用两个一维数组L[N]和R[N]作为有N个结点1,2,…,N的二叉树的存储结构。L
和R
分别指示结点i的左儿子和右儿子;L
=0(R
=0)表示i的左(右)儿子为空。试写一个算法,由L和R建立一个一维数组T[n],使T
存放结点i的父亲;然后再写一个判别结点U是否为结点V的后代的算法。
选项
答案
由指示结点i左儿子和右儿子的两个一维数组L[i]和R[i],很容易建立指示结点i的双亲的一维数组r[i],根据T数组,判断结点U是否是结点V后代的算法转为判断结点V是否是结点U的祖先的问题。 int Generation(int U,V,N,L[],R[],T[]){ //L[]和R[]是含有N个元素且指示二叉树结点i左儿子和右儿子的一维数组 //本算法据此建立结点i的双亲数组T,并判断结点U是否是结点V的后代 int i: for(i=1;i<=N;i++)T[i]=0;//T数组初始化 for(i=l;i<=N;i++) //根据L和R填写T if(L[i]f=0)T[L[i]]:i; //若结点i的左子女是L,则结点L的双亲是结点i for(i=1;i<=N;i++) if(R[i]!=0)T[R[i]]=i; //i的右子女是R,则R的双亲是i int parent=U: //判断U是否是V的后代 while(parent!=V&&parent!=0)parent=T[parent]; if(parent==V){printf(”结点U是结点V的后代”);retum(1);} else{printf(”结点u不是结点V的后代”);return(0);} }//结束Generation
解析
转载请注明原文地址:https://kaotiyun.com/show/kNCi777K
本试题收录于:
计算机408题库学硕统考专业分类
0
计算机408
学硕统考专业
相关试题推荐
下列著作被人们称为17世纪物理学、数学的百科全书,并标志着经典力学体系的完成的是()。
在德意志统一问题上,主张实行强硬的“铁血政策”的首相是()。
对1929—1933年的世界经济危机的特点,表述不正确的是()。
国民党成立了用来协调战时的金融政策及其各银行之间的相互关系的组织是()。
1918年美国总统威尔逊提出“十四点原则”,内容有“海洋上的航行有绝对自由”、“取消一切经济障碍和确立贸易条件的平等”、“成立一个一般性的各国联合组织”。其最终目的是()。
北约和华约两个组织对峙近半个世纪,这()。
基督教产生的时间是()。
关于德国工业革命,说法不正确的是()。
某会议有n个参与者,等大家到齐后会议才能开始,利用P、V原语操作实现会议参与者进程。
采用段式存储管理时,一个程序如何分段是在()决定的。
随机试题
对医患关系中基本的道德规范的描述最准确的是
肠道病毒71型感染的两大临床特征是
女,65岁。绝经15年,阴道不规则流血10余天。高血压,糖尿病病史10年。妇科检查:宫颈光滑,宫体如8周妊娠大小,质软,双附件未见异常。应首先考虑的疾病是
一个工人被派去打扫洒在地上的白色粉末,不久后发现其出现呼吸困难和惊厥,通过检测发现白色粉末为鱼藤酮,鱼藤酮进入人体的作用是抑制
A、B、C三家施工单位的资质等级依次为施工总承包二级、一级和特级。其中,A和C组成了联合体,并在招标文件要求的截止日期之前提交了投标文件。下列行为不符合法律规定的是()。
在WORD文档中插入的图片可以进行的操作是( )。
根据新股发行询价制度的规定,询价分为( )阶段。
企业缴纳的下列税金中,应通过“应交税费”科目核算的有()。
为了防止游客在游览时走失,导游要做好的预防工作是()。
在社会主义职业道德中最高层次的要求是()。
最新回复
(
0
)