数据l构W五章应用题?qing)答案[7]_跨考网
1. 设数l?/span>A的长度ؓ(f)2NQ前N个元?/span>A[1..N]递减有序Q后N个元?/span>A[N+1.. 2N]递增有序Q且2N?/span>2的整数次q,?/span>k=log22N为整数。例?/span>A[1..8]=[90,85,50,10,30,65,80,100]满上述要求Q这?/span>N=4,k=3,A的前4个元素和?/span>4个元素分别递减和递增有序。用此例调用如下?/span>Demoq程Qƈ要求Q?/span>
Q?/span>1Q给?/span>for循环中每ơ执?/span>PerfectShuffleQ?/span>A,NQ和CompareExchangeQ?/span>A,NQ的l果Q?/span>
Q?/span>2Q解?/span>Demo的功能;
Q?/span>3Q给?/span>Demo的时间复杂度?/span>
PROCEDURE PerfectShuffle(VAR A:arraytype; N:integer)
{ i:=1; j:=1;
WHILE i<=N DO
{ B[j]:=A[i]; B[j+1]:=A[i+N]; i:=i+1; j:=j+2;}
A[1..2N]:=B[1..2N]; //B copy to A
}
PROCEDURE CompareExchange(VAR A:arraytype; N:integer)
{ j:=1;
WHILE j<2N DO
{ IF A[j]>A[j+1] THEN A[j]←→A[j+1]; //交换A[j]?/span>A[j+1]
j:=j+2; }
}
PROCEDURE Demo (VAR A:arraytype;N:integer)
//A的长度ؓ(f)2N,k=log22N为整?/span>
{ FOR i:=1 TO log22N DO
{ PerfectShuffle(A,N); CompareExchange(A,N); }
} 【中U院计算所 1998 ?/span> Q?/span>15分)(j)?/span> 【中国科技大学 1998 4Q?/span>15分)(j)?/span>
【参考答案?/span>
Q?/span>1Q?/span>FOR循环中,每次执行PerfectShuffle(A,N)?/span>CompareExchange(A,N)的结果:(x)
W?/span>1ơ:(x)A[1..8]=[90,30,85,65,50,80,10,100]
A[1..8]=[30,90,65,85,50,80,10,100]
W?/span>2ơ:(x)A[1..8]=[30,50,90,80,65,10,85,100]
A[1..8]=[30,50,80,90,10,65,85,100]
W?/span>3ơ:(x)A[1..8]=[30,10,50,65,80,85,90,100]
A[1..8]=[10,30,50,65,80,85,90,100]
Q?/span>2Q?/span>Demo的功能是数l?/span>A中元素按递增序排序?/span>
Q?/span>3Q?/span>PerfectShuffle ?/span>WHILE循环内是赋D句,?/span>2Nơ,WHILE外成l赋D句,相当2N个简单赋D句;CompareExchange?/span>WHILE循环内是交换语句Q最好情况下不发生交换,最差情况下发生Nơ交换,相当?/span>3N个赋D句;Demo?/span>FOR循环循环ơ数log22NQ故按赋D句次数计?/span>Demo的时间复杂度为:(x)最好情况:(x)O(4N*log22N)?/span>O(Nlog(2*N))Q最差情况:(x)O((4N+3N)*log22N)?/span>O(Nlog(2*N))?/span>
2022考研初复试已l接q尾壎ͼ考研学子全面q入2023届备?/b>Q跨考ؓ(f)23考研的考生准备?0大课包全E准备、全q复?fn)备考计划、目标院校专业辅对{全真复试模拟练?fn)和全程针对性指|2023考研的小伙伴针也已经开始择校和复习(fn)?jin),跨考考研畅学5.0版本全新升Q无Z在校在家都可以更自如的完成你的考研复习(fn)Q?/a>暑假集训?/span>带来?jin)院校专业初步选择Q明方向;考研备考全q规划,核心(j)知识点入门;个性化制定备考方案,助你赢在赯U,早出发一点离成功更q一点!
点击右侧咨询?/strong>直接前往?jin)解更?/strong>
考研院校专业选择和考研复习(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> |