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

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

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

1. 序l构U性表LA?/span>LB的结点关键字为整数?/span>LA?/span>LB的元素按非递减有序Q线性表I间_大。试用类PASCAL语言l出一U高效算法,?/span>LB中元素合?/span>LA中,使新?/span>LA的元素仍保持非递减有序。高效指最大限度的避免Ud元素。?a target="_blank">北京工业大学 1997 一?/span>2 (12?/span>)?/span>

 

  【参考答案?/span>

 

  [题目分析]序存储l构的线性表的插入,其时间复杂度?/span>OQ?/span>nQ,q_Udq一半的元素。线性表LA?/span>LB合ƈӞ若从W一个元素开始,一定会造成元素后移Q这不符合本题“高效算法”的要求。另外,题中叙述“线性表I间_大”也暗示出另外合q方式,卛_从线性表的最后一个元素开始比较,大者放到最l位|上。设两线性表的长度各?/span>m?/span>n Q则l果表的最后一个元素应?/span>m+n位置上。这样从后向前,直到W一个元素ؓ止?/span>

 

  PROC Union(VAR LA:SeqList;LB:SeqList)

 

  ?/span>LA?/span>LB是顺序存储的非递减有序U性表Q本法?/span>LB合ƈ?/span>LA中,元素仍非递减有序?/span>

 

  m:=LA.last;n:=LB.last;?/span>mQ?/span>n分别为线性表LA?/span>LB的长度?/span>

 

  k:=m+n; ?/span>k为结果线性表的工作指针(下标Q?/span>

 

  i:=m;j:=n; ?/span>iQ?/span>j分别为线性表LA?/span>LB的工作指针(下标Q?/span>

 

  WHILE(i>0)AND(j>0)DO

 

  IF LA.elem[i]>=LB.elem[j]

 

  THEN[LA.elem[k]:=LA.elem[i];k:=k-1;i:=i-1;]

 

  ELSE[LA.elem[k]:=LB.elem[j];k:=k-1;j:=j-1;]

 

  WHILE(j>0) DO [LA.elem[k]:=LB.elem[j];k:=k-1;j:=j-1;]

 

  LA.last:=m+n;

 

  ENDP;

 

  [法讨论]法中数据移动是主要操作。在最x况下Q?/span>LB的最元素大?/span>LA的最大元素)Q仅?/span>LB?/span>n个元素移Q拷贝)?/span>LA中,旉复杂度ؓOQ?/span>nQ,最差情况,LA的所有元素都要移动,旉复杂度ؓOQ?/span>m+nQ。因数据合ƈ?/span>LA中,所以在退出第一?/span>WHILE循环后,只需要一?/span>WHILE循环Q处?/span>LB中剩余元素。第二个循环只有?/span>LB有剩余元素时才执行,而在LA有剩余元素时不执行。本法利用了题目中“线性表I间_大”的条gQ“最大限度的避免Ud元素”,是“一U高效算法”?/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>

①凡本网注明“稿件来源:跨考网”的所有文字、图片和韌频稿Ӟ版权均属北京学博教育咨询有限公司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