首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
下面是快速排序的伪代码,请填补其中的空缺;伪代码中的主要变量说明如下。 A:待排序数组 p,r: 数组元素下标,从p到r q: 划分的位置 x:枢轴元素 i:整型变量,用于描述数组下标。下标小于或等于i的元素的值小于或等于枢轴
下面是快速排序的伪代码,请填补其中的空缺;伪代码中的主要变量说明如下。 A:待排序数组 p,r: 数组元素下标,从p到r q: 划分的位置 x:枢轴元素 i:整型变量,用于描述数组下标。下标小于或等于i的元素的值小于或等于枢轴
admin
2009-01-10
94
问题
下面是快速排序的伪代码,请填补其中的空缺;伪代码中的主要变量说明如下。
A:待排序数组
p,r: 数组元素下标,从p到r
q: 划分的位置
x:枢轴元素
i:整型变量,用于描述数组下标。下标小于或等于i的元素的值小于或等于枢轴元素的值
j:循环控制变量,表示数组元素下标
QUICKSORT (A,p,r){
if (p <r){
q=PARTITION(A,p,r) ;
QUICKSORT(A,p,q-1);
QUICKSORT(A,q+1,r);
}
}
PARTITION(A,p,r){
x=A[r];i=p-1;
for(j=p;j≤r-1;j++){
if (A[j]≤x){
i=i+1;
交换A
和A[j]
}
}
交(1)和(2)//注:空(1)和空(2)答案可互换,但两空全部答对方可得分 return (3)
}
(1)待排序数组是否能被较均匀地划分对快速排序的性能有重要影响,因此枢轴元素的选取非常重要。有人提出从待排序的数组元素中随机地取出一个元素作为枢轴元素,下面是随机化快速排序划分的伪代码——利用原有的快速排序的划分操作,请填充其中的空缺处。其中,RANDOM(i,j)表示随机取i到j之间的一个数,包括i和j。
RANDOMIZED- PARTITION(A,p,r){
i=RANDOM(p,rl);
交换(8)和(9);//注:空(8)和空(9)答案可互换,但两空全部答对方可得分
return PARTITION (A,p,r);
}
(2)随机化快速排序是否能够消除最坏情况的发生?(10)。(是或否)
选项
答案
(8)A[i] (9)A[r] (10)否 注;空(8)和空(9)答案可以互换
解析
本题考查算法的设计与分析技术。
问题1考查快速排序算法的伪代码,快速排序最核心的处理是进行划分,即 PARTITION操作,根据枢轴元素的值,把一个较大的数组分成两个较小的子数组,一个子数组的所有元素的值小于等于枢轴元素的值,一个子数组的所有元素的值大于枢轴元素的值,而子数组内的元素不排序。划分时,以最后一个元素为枢轴元素,从左到右依次访问数组的每一个元素,判断其与枢轴元素的大小关系,并进行元素的交换,如图4-1所示:
在问题1给出的伪代码中,当循环结束后,A[p..i]中的值应小于等于枢轴元素值x,而A[i+1..r-1]中的值应大于枢轴元素值x。此时A[i+1)是第一个比A[r]大的元素,因此 A闭与A[i+1]交换,得到划分后的两个子数组。PARTITION操作返回枢轴元素的位置,因此返回值为i+1。
问题2考查的是快速排序算法的时间复杂度分析。当每次能作均匀划分时,算法为最佳情况,此时时间复杂度可以通过计算递归式T(n)=2T(n/2)+O(n),得到时间复杂度为O(nlgn):当每次为极端不均匀划分时,即长度为n的数组划分后一个子数组为n-1,一个为0,算法为最坏情况,此时时间复杂度可以通过计算递归式T(n)=T(n-1)+O(n),得到时间复杂度为O(n
2
);平均情况的分析较为复杂,我们可以假设数组每次划分为 9/10:1/10,此时时间复杂度可以通过计算递归式T(n)=T(9/10)+T(1/10)+O(n),得到时间复杂度为O(nlgn),因此在平均情况下快速排序仍然有较好的性能,时间复杂度为 O(nlgn)。当所有的n个元素具有相同的值时,可以认为数组已经有序,此时每次都划分为长度为n-1和0的两个子数组,属于最坏情况。
问题3中,由于随机化的快速排序的划分调用了传统的快速排序算法的PARTITION操作,而传统的划分每次以数组的最后一个元素作为枢轴元素,因此,随机化的划分操作中每次先随机获得一个元素,将其与最后一个元素交换。随机化的快速排序消除了输入数据的不同排列对算法性能的影响,降低了极端不均匀划分的概率,但不能保证不会导致最坏情况的发生。
转载请注明原文地址:https://kaotiyun.com/show/W5DZ777K
本试题收录于:
软件设计师下午应用技术考试题库软考中级分类
0
软件设计师下午应用技术考试
软考中级
相关试题推荐
设关系模式R(A,B,C),传递依赖指的是(16);下列结论错误的是(17)。
在数据库管理系统中,(13)不属于安全性控制机制。
针对程序段:IF(X>10)AND(Y<20)THEN W=W/A,对于(X,Y)的取值,以下(56)组测试用例能够满足判定覆盖的要求。
假设在程序控制流图中,有12条边,8个节点,则确保程序中每个可执行语句至少执行一次所必需的测试用例数目的上限是(54)。
软件能力成熟度模型(CMM)将软件能力成熟度自低到高依次划分为5级。目前,达到CMM第3级(已定义级)是许多组织努力的目标,该级的核心是(29)。
J2EE系统架构被各种信息系统普遍采用,______不属于其服务器端应用组件。A.ServletB.JSPC.EJBD.Applet
以下关于白盒测试和黑盒测试的理解,正确是______。A.白盒测试通过对程序内部结构的分析、检测来寻找问题B.白盒测试通过一些表征性的现象、事件、标志来判断内部的运行状态C.单元测试可应用白盒测试方法,集成测试则采用黑盒测试方法D.在软件生命周期各
为了使软件测试更加高效,应遵循的原则包括______。①所有的软件测试都应追溯到用户需求,充分注意缺陷群集现象②尽早地和不断地进行软件测试、回归测试③为了证明程序的正确性,尽可能多地开发测试用例④应由不同的测试人员对测试所发
堆是一种数据结构,分为大顶堆和小顶堆两种类型。大(小)顶堆要求父元素大于等于(小于等于)其左右孩子元素。则___________(41)是一个大项堆结构,该堆结构用二叉树表示,其高度(或层数)为___________(42)。(41)
设系统中有R类资源m个,现有n个进程互斥使用。若每个进程对R资源的最大需求为w,那么当m、n、w取下表的值时,对于下表中的a~e五种情况,(26)两种情况可能会发生死锁。对于这两种情况,若将(27),则不会发生死锁。
随机试题
理解下面这首诗,写一篇不少于200字的赏析文字。风雨李商隐凄凉宝剑篇,羁泊欲穷年。黄叶仍风雨,青楼自管弦。新知遭薄俗,旧好隔良缘。心断新丰酒,销愁又几千。
对急性牙痛患者在未明确患牙前,切忌
治疗肺炎支原体感染,应首选()
甲公司是一家制造业上市公司,乙公司是一家制造业非上市公司,两家公司生产产品不同,且非关联方关系,甲公司发现乙公司的目标客户多是小微企业,与甲公司的市场能有效互补,拟于2020年末通过对乙公司原股东非公开增发新股的方式换取乙公司100%的股权以实现对其的收购
A公司所得税税率为25%,采用资产负债表债务法核算。20×7年10月A公司以1000万元购入B上市公司的股票,作为短期投资,期末按成本计价。A公司从20×8年1月1日起,执行新准则,并按照新准则的规定,将上述短期投资划分为交易性金融资产,20×7年末该股票
刘禹锡《陋室铭》原文山不在高,有仙则名。水不在深,有龙则灵。斯是陋室,惟吾德馨。苔痕上阶绿,草色入帘青。谈笑有鸿儒,往来无白丁。可以调素琴,阅金经。无丝竹之乱耳,无案牍之劳形。南阳诸葛庐,西蜀子云亭。孔子云:何陋之有?思考探究《陋室铭》结尾引
“东胡林人”遗址是新石器时代早期的人类文化遗址,在遗址中发现的人骨化石经鉴定属两个成年男性个体和一个少年女性个体。在少女遗骸的颈部位置有用小螺壳串制的项链,腕部佩戴有牛肋骨制成的骨镯。这说明在新石器时代早期,人类的审美意识已经开始萌动。以下哪项如果为真,
为继续放宽市场主体准入条件,激发社会投资活力,某市政府决定在高新技术开发区实行“负面清单”管理模式,即列举民营资本的领域和产业,在这个清单之外,“法无禁止即可为”。这体现了该政府()。①履行了组织社会主义经济建设的职能②推进自身
人与人区别的主要方面,也是人格核心的是()。
下列描述中不正确的是_______。
最新回复
(
0
)