(zhn)现在的位置Q?/strong> 跨考网频道考研报名正文

数据l构W六章算法设计题[9]_跨考网

最后更新时_(d)(x)2011-11-25 11:37:49
辅导评Q?a target="_blank" rel="nofollow">暑期集训 在线咨询
复习(fn)紧张Q焦头烂额?逆风轻袭Q来跨考秋季集训营Q帮你寻Ҏ(gu)Q定Ҏ(gu)Q?/span> ?jin)解一?>

1Q设一二叉树(wi)的结点结构ؓ(f) (LLINK,INFO,RLINK),ROOT为指向该二叉?wi)根l点的指针,p?/span>q分别为指向该二叉?wi)中L两个l点的指针,试编写一法ANCESTORQ?/span>ROOTQ?/span>p,q,rQ?/span>,该算法找?/span>p?/span>q的最q共同祖先结?/span>r。?a target="_blank">吉林大学 2000 二?/span>3 Q?/span>12分)(j)】?a target="_blank">中山大学 1994 六(15分)(j)?/span>

  【参考答案?/span>

  .[题目分析]后序遍历最后访问根l点Q即在递归法中,Ҏ(gu)压在栈底的。采用后序非递归法Q栈中存放二叉树(wi)l点的指针,当访问到某结Ҏ(gu)Q栈中所有元素均l点的祖先。本题要?/span>p?/span>q 的最q共同祖先结?/span>r ,不失一般性,?/span>p?/span>q的左辏V后序遍历必然先遍历到结?/span>pQ栈中元素均?/span>p的祖先。将栈拷入另一辅助栈中。再l箋(hu)遍历到结?/span>qӞ栈中元素从栈顶开始逐个到辅助栈中去匚wQ第一个匹配(即相{)(j)的元素就是结?/span>p ?/span>q的最q公q先?/span>

  typedef struct

  {BiTree t;int tag;//tag=0 表示l点的左子女已被讉KQ?/span>tag=1表示l点的右子女已被讉K

  }stack;

  stack s[],s1[];//栈,定w够大

  BiTree Ancestor(BiTree ROOT,p,q,r)//求二叉树(wi)上结?/span>p?/span>q的最q的共同先l点r?/span>

  {top=0; bt=ROOT;

  while(bt!=null ||top>0)

  {while(bt!=null && bt!=p && bt!=q) //l点入栈

  {s[++top].t=bt; s[top].tag=0; bt=bt->lchild;} //沿左分枝向下

  if(bt==p) //不失一般性,假定p?/span>q的左?/span>,遇结?/span>pӞ栈中元素均ؓ(f)p的祖先结?/span>

  {for(i=1;i<=top;i++) s1[i]=s[i]; top1=top; }//s的元素{入辅助栈s1 保存

  if(bt==q) //扑ֈq l点?/span>

  for(i=top;i>0;i--)//Q将栈中元素的树(wi)l点?/span>s1d?/span>

  {pp=s[i].t;

  for (j=top1;j>0;j--)

  if(s1[j].t==pp) {printf(?/span>p ?/span>q的最q共同的先已找到?/span>)Q?/span>return (pp);}

  ?/span>

  while(top!=0 && s[top].tag==1) top--; //退?/span>

  if (top!=0)?/span>s[top].tag=1;bt=s[top].t->rchild;?/span> //沿右分枝向下遍历

  }//l束while(bt!=null ||top>0)

  return(null);//q?/span>p无公q?/span>

  ?/span>//l束Ancestor

跨考考研评

班型 定向班型 开班时?/td> 高定?/td> 标准?/td> 评介绍 咨询
U季集训 冲刺?/td> 9.10-12.20 168000 24800?/td> 班面授+专业??+专业译֮向辅?协议加强评(高定?+专属规划{疑(高定?+_化答?复试资源(高定?+复试译֌(高定?+复试指导(高定?+复试班主?v1服务(高定?+复试面授密训(高定?+复试1v1(高定?
2023集训畅学 非定向(政英?数政qQ?/td> 每月20?/td> 22800?协议? 13800?/td> 先行阶在U课E?基础阶在U课E?强化阶在U课E?真题阶在U课E?冲刺阶在U课E?专业NҎ(gu)一对一评+班主dE督学服?全程规划体系+全程试体系+全程_化答?择校择专业能力定位体p?全年关键环节指导体系+初试加强?初试专属服务+复试全科标准班服?/td>

①凡本网注明“稿件来源:(x)跨考网”的所有文字、图片和韌频稿Ӟ版权均属北京学博教育咨询有限公司Q含本网和跨考网Q所有,M媒体、网站或个h未经本网协议授权不得转蝲、链接、{帖或以其他Q何方式复制、发表。已l本|协议授权的媒体、网站,在下载用时必须注明“稿件来源,跨考网”,q者本|将依法q究法律责Q?/p>

②本|未注明“稿件来源:(x)跨考网”的?囄Eg均ؓ(f)转蝲E,本网转蝲仅基于传递更多信息之目的Qƈ不意味着再通{载稿的观Ҏ(gu)证实其内容的真实性。如其他媒体、网站或个h从本|下载用,必须保留本网注明的“稿件来源”,q自负版权等法律责Q。如擅自改为“稿件来源:(x)跨考网”,本网依法追I法律责仅R?/p>

③如本网转蝲E涉?qing)版权等问题Q请作者见E后在两周内速来?sh)与跨考网联系Q电(sh)话:(x)400-883-2220