首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
考研
假定用两个一维数组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-01-16
84
问题
假定用两个一维数组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的双亲的一维数组T[i],根据T数组,判断结点U是否是结点V后代的算法转为判断结点V是否是结点U的祖先的问题。 int Gener|ation(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=1;i<=N;i++) //根据L和R填写T if(L[i]!=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的后代”);return(1);} else{printf(“结点U不是结点V的后代”);return(0);} }//结束Generation
解析
转载请注明原文地址:https://jikaoti.com/ti/djfjFFFM
本试题收录于:
计算机408题库学硕统考专业分类
0
计算机408
学硕统考专业
相关试题推荐
阅读材料回答以下问题:天既哀大地生人之多艰,黑帝乃降精而救民患,为神明,为圣王,为万世作师,为万民作保,为大地教主。生于乱世,乃据乱世而立三世之法,而垂精太平。乃因其所生之国,而立三世之义,而注意于大地远近、大小若一之大一统。乃立元以统天,以天为仁,以神
简述弭兵运动的主要内容以及重要影响。
雅尔塔体系、两极格局、“冷战”三者的区别与联系是什么?
简述按照恩格斯的划分方法人类的起源与进化。
“二战”期间,美国研制了原子弹并用于实践;1946年美国投入使用的第一台电子计算机最初是用于计算炮弹弹道的;德国人研制成功的远程液体火箭是用于空袭英国的。以上史实说明()。
解放军渡江战役中横渡长江的东西两个攻击点是()。
下列哪一个不是罗马王政时代的管理机构?()
下列各组条约的时间排列顺序正确的是()。①《布列斯特条约》②《色佛尔条约》③《九国公约》④《洛桑条约》
提出电磁感应定律的是物理学家()。
设计一个算法,求无向图G(采用邻接表存储)的连通分量个数。
随机试题
对于一个在北平住惯的人,像我,冬天要是不刮大风,便是奇迹;济南的冬天是没有风声的。对于一个刚由伦敦回来的,像我,冬天要能看得见日光,便是怪事,济南的冬天是响晴的。自然,在热带的地方,日光是永远那么毒,响亮的天气反有点叫人害怕。可是,在北中国的冬天,而能有温
下列情况不属于医院感染的是
阿米巴肝脓肿的脓液是
老鼠:耗子
2004年5月4日,甲公司与乙公司签订保管合同,约定乙为甲保管一批木材,期限半年,保管费2万元,提货时支付。同年7月,甲公司与丙公司订立买卖合同,将该批木材卖与丙公司,由丙公司直接到乙公司提货。合同签订后,甲公司通知乙公司交货给丙公司。同年10月5日,丙公
一般来说,企业的经济效益会随着()等宏观经济冈素的变动而变动。Ⅰ.经济运行周期Ⅱ.经济政策Ⅲ.利率水平Ⅳ.物价水平
对于已经分摊商誉的资产组或资产组组合,无论是否存在资产组或资产组组合可能发生减值的迹象,企业每年都应当通过比较包含商誉的资产组或资产组组合的账面价值与可收回金额进行减值测试。()
简述社会助长和社会惰化。
设f(x,y)=3x+2y,z=f[xy,f(x,y)],则=().
以下选项中正确的定义语句是
最新回复
(
0
)