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

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

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

 (tng) (tng) (tng) (tng) (tng) (tng)  (tng)1Q二叉树(wi)排序Ҏ(gu)如下Q?/span>

  Q?/span>1Q将W一个数据放在树(wi)栏V?/span>

  Q?/span>2Q将随后d的数据与?wi)根中的数据相比较,若比树(wi)根大,则置于右子?wi)Q反之则|于左子?wi),建成一二叉树(wi)Q?/span>

  Q?/span>3Q利用中序遍历打印排序结果?/span>

  试用PASCAL?/span>C语言~写二叉?wi)的排序E序Qƈ分析其算法复杂性。?a target="_blank">江大学 1995 ?/span> (15?/span>)?/span>

  【参考答案?/span>

  BiTree creat()//生成q中序输Z叉排序树(wi)

  {scanf(?/span>%c?/span>,&ch) //ch是二叉排序树(wi)l点值的cd变量Q假定是字符变量

  BiTree bst=null,f=null;

  while(ch!=?/span>#?/span>) //?/span>#’是输入l束标记

  {s=(BiTree)malloc(sizeof(BiNode)); //甌l点

  s->data=ch; s->lchild=s->rchild=null;

  if (bst==null) bst=s; //根结?/span>

  else //查找插入l点

  {p=bst;

  while(p)

  if (ch>p->data) {f=p; p=p->rchild;} //沿右分枝?/span>,f是双?/span>

  else {f=p; p=p->lchild;} //沿左分枝?/span>

  if(f->data<ch) f->rchild=s; else f->lchild=s;}//?/span>sl点插入?wi)?/span>

  scanf(?/span>%c?/span>,&ch); //d下一数据

  } //while (ch!=?/span>#?/span>)

  return(bst); } //l束 creat

  void InOrder(BiTree bst) //bst是二叉排序树(wi)Q中序遍历输Z叉排序树(wi)

  {if(bst)

  {InOrder (bst->lchild); printf(bst->data); InOrder(bst->rchild); }

  }//l束InOrder

  

  2Q已知一二叉?wi)中l点的左叛_子ؓ(f)left?/span>rightQ?/span>p指向二叉?wi)的某一l点。请?/span>C?/span>PASCAL~一个非递归函数postfirst(p),?/span>p所对应子树(wi)的第一个后序遍历结炏V?a target="_blank" class="keylink">江大学1998 ?/span>(10?/span>)?/span>

  【参考答案?/span>

  [题目分析]二叉?wi)结?/span>p所对应子树(wi)的第一个后序遍历结?/span>q的求法如下:(x)?/span>p有左子树(wi)Q则q?/span>p的左子树(wi)上最左下的叶子结点;?/span>p无左子树(wi)Q仅有右子树(wi)Q则q?/span>p的右子树(wi)上最左下的叶子结炏V?/span>

  BiTree PostFirst(p)

  {BiTree q=p;

  if (!q) return(null); else

  while(q->lchild || q->rchild); //找最左下的叶子结?/span>

  if(q->lchild) q=q->lchild; //优先沿左分枝向下L“最左下”的叶子l点

  else q=q->rchild; //沿右分枝L“最左下”的叶子l点

  return(q);

  }

  [法讨论]题目“求p所对应子树(wi)的第一个后序遍历结点”,蕴涵p是子?wi)的栏V若p是叶子结点,求其后(h)要通过双亲?/span>

跨考考研评

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