首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
考研
已知在二叉树中,T为根结点,*p和*q为二叉树中两个结点,试编写求距离它们最近的共同祖先的算法。
已知在二叉树中,T为根结点,*p和*q为二叉树中两个结点,试编写求距离它们最近的共同祖先的算法。
admin
2012-06-26
64
问题
已知在二叉树中,T为根结点,*p和*q为二叉树中两个结点,试编写求距离它们最近的共同祖先的算法。
选项
答案
int.found=FALSE; Bitree*Find_Near_Ancient(Bitree T,Bitree p,Bitree q){ //求二叉树T中结点P和q的最近共同祖先 Bitree pathp[100],pathq[100]; //设立两个辅助数组暂存从根到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->lchild) Findpath(T->lchild,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://www.kaotiyun.com/show/8yxi777K
本试题收录于:
计算机408题库学硕统考专业分类
0
计算机408
学硕统考专业
相关试题推荐
1876年7月第一国际举行最后一次代表大会宣告解散,这次代表大会的地点是()。
1935年6月,红一、红四方面军会合后,中共中央在()召开政治局会议,决定北上创建川陕甘根据地。
试析凡尔赛一华盛顿体系的实质及其对一战后国际关系的影响。
1911年,美国工程师()出版《科学管理原理》一书,奠定了科学管理的理论基础,被誉为“科学管理之父”。
下列不是美国独立战争与美国内战的相同点的是()。
简述清代秘密立储制的操作并作出评价。
1934年9月苏联加入国联,对此说法错误的一项是()。
以下选项不属于希腊城邦的形成方式和途径的是()。
某计算机的主存地址空间大小为256MB,按字节编址。指令Cache和数据Cache分离,均有8个Cache行,每个Cache行大小为64B,数据Cache采用直接映射方式。现有两个功能相同的程序A和B,其伪代码如下:假定int类型数据用32位补码表示,程序
随机试题
女性,62岁。诊断为胃癌,血压160/100mmHg,中度贫血,消瘦。术前准备不必要的项目是
下列叙述中的当事人可以自己的名义提起行政诉讼的是:()
用承载板法测定土基回弹模量,当回弹变形值超过()时即可停止加载。
构造简单,开启和关闭迅速,旋转90°就全开或全关,阻力较小,但保持共严密性比较困难的阀门是( )。
一般认为,补偿性余额使得名义借款额高于实际可使用借款额,从而名义借款利率大于实际借款利率。()
张老师在上《诗情画意》一课时,从用笔、用墨、勾线、画枝、添叶、渲染等步骤详细讲解并逐步示范,使学生对树的画法有一个系统的了解。张老师在此处运用的教学方法是()。
TheheadoftheHouseofRepresentativesinAmericaiscalledthe______.
公安队伍建设的终极目标是()。
行政公署是我国()。
Asubjectwhichseemstohavebeeninsufficientlystudiedbydoctorsandpsychologistsistheinfluenceofgeographyandclimate
最新回复
(
0
)