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

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

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

1Q已知二叉树(wi)T的结点在先根ơ序下的排列?/span>A[1]Q?/span>A[2]Q…,A[n]Q在中根ơ序下的排列?/span>B[1]Q?/span>B[2]Q…,B[n]Q其中,A?/span>B是一l数l,数组元素的gؓ(f)T中相应的l点?/span>INFO字段的|q假定二叉树(wi)T中结点的INFO字段的g不相同,n>=0。试解答Q?/span>

  Q?/span>1Q证明由A[1Q?/span>n]?/span>B[1Q?/span>n]能唯一的确定二叉树(wi)T的结构;

  Q?/span>2Q给出徏造二叉树(wi)T的算法,要求所建造的二叉?wi)?/span>LLINK/RLINK链接l构表示Q且该算法是非递归法Q?/span>

  Q?/span>3Q分析你所l算法的旉复杂性,该过E包括如何确定基本运如何推导出期望复杂性和最坏复杂性。?a target="_blank">吉林大学 1997 ?/span> (20?/span>) 1998 二?/span>

  【参考答案?/span>

  Q?/span>1Q由先序序列A[1..n]和中序序?/span>B[1..n],可以定一二叉树(wi),详见本章四第38?/span>.

  Q?/span>2Q?/span>void PreInCreat( ElemTypeA[],B[]Q?/span>int l1,h1,l2,h2)

  //׃叉树(wi)前序序列A[1..n]和中序序?/span>B[1..n]建立二叉?/span>,l1,h1,?/span>l2,h2分别为先序序列和

  //中序序列W一和最后结点的下标.初始调用?/span>l1=l2=1,h1=h2=n ?/span>

  {typedef struct {int l1,h1,l2,h2; BiTree t; }node;

  BiTree bt;

  int top=0,i; node s[],p; //s为栈,定w_?/span>

  bt=(BiTree)malloc(sizeof(BiNode)); //甌l点I间

  p.l1=l1; p.h1=h1; p.l2=l2; p.h2=h2; p.t=bt; s[++top]=p; //初始?/span>

  while(top>0)

  {p=s[top--]; bt=p.t; l1=p.l1; h1=p.h1; l2=p.l2 ;h2=p.h2;//取出栈顶数据

  for(i=l2;i<=h2;i++) if(B[i]==A[l1]) break; //C序序列中查根l点的?/span>

  bt->data=A[l1]; //A[l1]为根l点的?/span>

  if(i==l2) bt->lchild=null; //bt无左子树(wi)

  else //徏立左子树(wi)的数据入?/span>

  {bt->lchild=(BiTree)malloc(sizeof(BiNode)); p.t=bt->lchild;

  p.l1=l1+1; p.h1=l1+i-l2; p.l2=l2; p.h2=i-1; s[++top]=p; }

  if(i==h2) bt->rchild=null; //bt无右子树(wi)

  else {bt->rchild=(BiTree)malloc(sizeof(BiNode)); p.t=bt->rchild;

  p.l1=l1+i-l2+1; p.h1=h1; p.l2=i+1; p.h2=h2; s[++top]=p; }//叛_?wi)数据入?/span>

  }//while

  }l束PreInCreat

  (3)当二叉树(wi)为单支树(wi)Ӟ栈深nQ,当二叉树(wi)左右子树(wi)高相{时Q栈?/span>logn。时间复杂度O(n)?/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