首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
考研
假定用两个一维数组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
2017-01-04
47
问题
假定用两个一维数组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 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=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的后代”);retum(1);} else{prinff(”结点u不是结点V的后代”);retum(0);} }//结束Generation
解析
转载请注明原文地址:https://kaotiyun.com/show/kLRi777K
本试题收录于:
计算机408题库学硕统考专业分类
0
计算机408
学硕统考专业
相关试题推荐
解析两个战场的地位、作用及相互关系。
布雷顿森林体系是如何建立的,包括哪些内容?
【《五四指示》】北京大学2000年中国通史真题
毛泽东认为,社会主义这个阶段可分为两个阶段,包括()。
“瓜步之战”发生在下列哪两个政权之间?()
十六国时期的历史,可以划分为前后两个时期,其分界线是()。
改革开放以来,乡镇企业的异军突起,其重要意义包括()①改变了公有制经济的主体地位②推动了农村产业结构的现代化进程③加快了农村的现代化进程④开辟了农民致富的新途径
武昌起义后,全国革命形势发展的同时也潜伏着失败的危机,这主要是由于()。
1543年发表解剖学专著《人体结构论》的是()。
解放军渡江战役中横渡长江的东西两个攻击点是()。
随机试题
像《论语》《三字经》《道德经》《弟子规》等中华经典系列,我们现在仍在学习。这主要体现了教育的()
乙炔发生器不得安置在____、____和____等车间和____。
Sheisleavingherhusbandbecauseshecannot______hisbadtemperanylonger.
下列情况中,甲需要承担法律责任的情况有哪一项?
()基础适用于地下水位较低的地区,并与其他材料基础共用,充当基础垫层。
纳税人享受减税、免税待遇的,在减税、免税期间可以按照规定不办理纳税申报。()
中国公民自费出国旅游目的地的国家和地区,应当由()。
给定资料1.在北京西北部一栋办公楼的冷飕飕的地下室里,一群想要成为企业家的人正聚集在计算机屏幕前,注视着他们最新的项目雏形。而在几公里之外,在一个暖意融融、装修更为豪华的地下演讲厅里,30多名经理和创业者也在讨论有关新产品和新公司的创意。这两群人
沈括
ThatboyssuffermorefromairpollutioncanpossiblybejustifiedbythefactthatThedifferentwaysmenandwomenmovetheir
最新回复
(
0
)