数据l构W二章算法设计题 [4]_跨考网
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一个元素开始,一定会(x)造成元素后移Q这不符合本题“高效算法”的要求。另外,题中叙述“线性表I间_大”也暗示出另外合q方式,卛_从线性表的最后一个元素开始比较,大者放到最l位|上。设两线性表的长度各?/span>m?/span>n Q则l果表的最后一个元素应?/span>m+n位置上。这样从后向前,直到W一个元素ؓ(f)止?/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中,旉复杂度ؓ(f)OQ?/span>nQ,最差情况,LA的所有元素都要移动,旉复杂度ؓ(f)OQ?/span>m+nQ。因数据合ƈ?/span>LA中,所以在退出第一?/span>WHILE循环后,只需要一?/span>WHILE循环Q处?/span>LB中剩余元素。第二个循环只有?/span>LB有剩余元素时才执行,而在LA有剩余元素时不执行。本法利用了题目中“线性表I间_大”的条gQ“最大限度的避免Ud元素”,是“一U高效算法”?/span>
2022考研初复试已l接q尾壎ͼ考研学子全面q入2023届备?/b>Q跨考ؓ(f)23考研的考生准备?0大课包全E准备、全q复?fn)备考计划、目标院校专业辅对{全真复试模拟练?fn)和全程针对性指|2023考研的小伙伴针也已经开始择校和复习(fn)了,跨考考研畅学5.0版本全新升Q无Z在校在家都可以更自如的完成你的考研复习(fn)Q?/a>暑假集训?/span>带来了院校专业初步选择Q明方向;考研备考全q规划,核心知识点入门;个性化制定备考方案,助你赢在赯U,早出发一点离成功更q一点!
考研院校专业选择和考研复习(fn)计划 | |||
2023备考学?/td> | 2023U上U下随时学习(fn) | 34所自划UK校考研复试分数U汇?/td> | |
2022考研复试最全信息整?/a> | 全国各招生院校考研复试分数U汇?/a> | ||
2023全日制封闭训l?/span> | 全国各招生院校考研调剂信息汇?/a> | ||
2023考研先知 | 考研考试U目有哪些? | 如何正确看待考研分数U? | |
不同院校相同专业如何选择更适合自己?/a> | 从就业说考研如何择专业? | ||
手把手教你如何选专业? | 高校研究生教育各学科门类排行?/a> |
相关推荐
跨考考研评
班型 | 定向班型 | 开班时?/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> |