首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
考研
已知在二叉树中,T为根结点,*p和*q为二叉树中两个结点,试编写求距离它们最近的共同祖先的算法。
已知在二叉树中,T为根结点,*p和*q为二叉树中两个结点,试编写求距离它们最近的共同祖先的算法。
admin
2013-07-12
35
问题
已知在二叉树中,T为根结点,*p和*q为二叉树中两个结点,试编写求距离它们最近的共同祖先的算法。
选项
答案
int.found=FALSEI Bitree*Find_Near_Ancient(Bitree T,Bitree P,Bitree q){ //求二叉树T中结点P和q的最近共同祖先 Bitree pathp[100],pathq[i00]; //设立两个辅助数组暂存从根到P,q的路径 Findpath(T,P,pathp,0); found=FALSE; Findpath(T,q,pathq,0); //求从根到p,q的路径放在pathp和pathq中 for(i=0;pathp[i]==pathq[i]&&pathp[i];i++);, //查找两条路径上最后一个相同结点 return pathp[--i]; } void Findpath(Bitree T,Bitree P,Bitree path[],int i){ //求从T到P路径的递归算法 if(T==p) { found=TRUE; //找到 return; } path[i]=T; //当前结点存入路径 if(T->ichild) Findpath(T->ichild,P,path,i+1); //在左子树中继续寻找 if(T->rchild&&!found) Findpath(T->rchild,P,path,i+1); //在右子树中继续寻找 if(!found) path[i]=NULL; //回溯
解析
本题也可叙述为求,*p和*q两个结点的最小子树。
遍历访问到*p时,将*p结点的祖先保存到数组pathp中,再遍历访问到*q时,将*q结点的祖先保存到数组pathq中,将数组pathp与数组pathq的结点依次(从0开始)比较,找到最近的共同祖先。
转载请注明原文地址:https://kaotiyun.com/show/Juxi777K
本试题收录于:
计算机408题库学硕统考专业分类
0
计算机408
学硕统考专业
相关试题推荐
下列选项中,()不是共产党抗日民族统一战线的土地政策的三条基本原则之一。
下列关于《大明律》的叙述,不正确的是()
试述孙中山在旧民主主义革命时期的主要革命活动。
概述人民公社运动发生的原因、错误、危害及主要教训。
美国总统提出“十四点原则”的实际目的是()
戊戌政变发生的时间是()。
从“鲁尔危机”的发生到《道威斯计划》的实施,西方国际关系变化对当时有关国家的影响是()。①美国势力进一步向欧洲渗透②英国达到了限制法国、保持均势的目的③德国获得重建经济的有利时机④法国扩充实力争霸欧洲的计划遭重创
以下选项不属于希腊城邦的形成方式和途径的是()。
中国第一条自行设计修建的铁路是在()。
1628年出版了《心血运动论》一书,论证了血液在全身的循环运动,使生理学发展为科学的是()。
随机试题
等渗性脱水时应
[2007年,第9题]若∫f(x)dx=x3+C,则∫f(cosx)sinxdx等于()。(式中C为任意常数)
在FOB、CFR、CIF三种合同中,第一种卖方承担的责任和费用最小,而第三种最大。()
注册商标期满不再续展的,自注销之日起()年内,商标局对与该商标相同或者近似的商标注册申请,不予核准。
下列属于企业存货的有()。
教师在履行教育义务的活动中,最主要、最基本的道德责任是()。
某一地区在拆迁时将一些枯死的树木刨出。拆迁办组织三个部门的人员准备将树木锯成短木。树木的粗细都相同,只是长度不一样。甲部门的人锯的树木是2米长,乙部门的人锯的树木是1.5米长。丙部门的人锯的树木是1米长,都要求按0.5米长的规格锯开。时间结束时,三个部门正
课程标准的结构一般由以下几部分组成:前言部分、课程目标部分、——和课程实施建议部分。
ReadthearticlebelowaboutculturaldifferencesbetweenJapaneseandAmericanmanagers.Choosethebestsentencetofillinea
DearSirorMadam,Thisisthesecondmonthrunningthatyourdeliveryhasbeenlateinarrival.Ourcurrentorderfors
最新回复
(
0
)