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

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

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

1Q?/span> 以孩子兄弟链表ؓ存储l构Q请设计递归和非递归法求树的深度。【北方交通大?/span>1999?/span>(18?/span>)?/span>

  【参考答案?/span>

  [题目分析]由孩子兄弟链表表C的树,求高度的递归模型是:若树为空Q高度ؓӞ若第一子女为空Q高度ؓ1和兄弟子树的高度的大者;否则Q高度ؓW一子女树高度加1和兄弟子树高度的大者。其非递归法使用队列Q逐层遍历树,取得树的高度?/span>

  int Height(CSTree bt) //递归求以孩子兄弟链表表示的树的深?/span>

  {int hc,hs;

  if (bt==null) return (0);

  else if (!bt->firstchild) return (1+height(bt->nextsibling);//子女I,查兄弟的深度

  else // l点既有W一子女又有兄弟Q高度取子女高度+1和兄弟子树高度的大?/span>

  {hc=height(bt->firstchild)Q?/span> //W一子女树高

  hs=height(bt->nextsibling)Q?/span>//兄弟树高

  if(hc+1>hs)return(hc+1); else return (hs);

  }

  }//l束height

  int height(CSTree t) //非递归遍历求以孩子兄弟链表表示的树的深?/span>

  {if(t==null) return(0);

  else{int front=1,rear=1; //front,rear是队头队օ素的指针

  int last=1,h=0; //last指向树中同层l点中最后一个结点,h是树的高?/span>

  Q[rear]=t; //Q是以树中l点为元素的队列

  while(front<=last)

  {t=Q[front++]; //队头出列

  while(t!=null) //层次遍历

  {if (t->firstchild) Q[++rear]=t->firstchild; //W一子女入队

  t=t->nextsibling; //同层兄弟指针后移

  }

  if(front>last) //本层l束Q深度加1Q初始深度ؓ0Q?/span>

  {h++;last=rear;} //last再移到指向当前层最右一个结?/span>

  }//while(front<=last)

  }//else

  }//Height

跨考考研评

班型 定向班型 开班时?/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>

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

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

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