首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
考研
已知顺序表A,在不改变顺序表中奇数号元素与偶数号元素相对位置的前提下,设计算法,将所有奇数号元素移到所有偶数号元素前。 (1)给出算法的基本设计思想。 (2)根据设计思想,采用C或C++或Java语言描述算法,关键之处给出注释。 (
已知顺序表A,在不改变顺序表中奇数号元素与偶数号元素相对位置的前提下,设计算法,将所有奇数号元素移到所有偶数号元素前。 (1)给出算法的基本设计思想。 (2)根据设计思想,采用C或C++或Java语言描述算法,关键之处给出注释。 (
admin
2019-08-01
38
问题
已知顺序表A,在不改变顺序表中奇数号元素与偶数号元素相对位置的前提下,设计算法,将所有奇数号元素移到所有偶数号元素前。
(1)给出算法的基本设计思想。
(2)根据设计思想,采用C或C++或Java语言描述算法,关键之处给出注释。
(3)说明你所设计算法的时间复杂度和空间复杂度。
选项
答案
(1)基本的设计思想:先将偶数号元素复制到一个辅助空间,然后整理数组剩下的奇数号元素,最后将辅助空间中的元素复制到数组的后半部分,但这种思路的空间复杂度为O(n)。 另一种思路: ①在数组尾部从后往前找到第一个奇数号元素,将此元素与其前面的偶数号元素交换。这样,就形成了两个前后相连且相对顺序不变的奇数号元素“块”。 ②暂存①中“块”前面的偶数号元素,将“块”内奇数号结点依次前移,然后将暂存的偶数号结点复制到空出来的数组单元中。就形成了三个连续的奇数号元素“块”。 ③暂存②中“块”前面的偶数号元素,将“块”内奇数号结点依次前移,然后将暂存的偶数号结点复制到空出来的数组单元中。就形成了四个连续的奇数号元素“块”。 ④如此继续,直到前一步的“块”前没有元素为止。 (2)算法的设计如下: void Swap(ElemType A[],int n){ int i=n,v=1; //i为工作指针,初始假设n为奇数,v为“块”的大小 ElemType temp: //辅助变量 if(n%2==0)i=n一1; //若n为偶数,则令i为n一1 while(i>1){ //假设数组从1开始存放。当i=1时,气泡浮出水面 temp=A[i—1]; //将“块”前的偶数号元素暂存 for(int j=0;j<v;j++) //将大小为v的“块”整体向前平移 A[i一1+j]=A[i+j] //从前往后依次向前平移 A[i+v一1]=temp: //暂存的奇数号元素复制到平移后空出的位置 i一一;v++; //指针向前,块大小增1 }//while } (3)一共进行了n/2次交换,每次交换的元素个数从1一n/2,因此时间复杂度为O(n
2
)。虽然时间复杂度为O(n
2
),但因n
2
前的系数很小,实际达到的效率是很高的。算法的空间复杂度为O(1)。
解析
转载请注明原文地址:https://kaotiyun.com/show/jACi777K
本试题收录于:
计算机408题库学硕统考专业分类
0
计算机408
学硕统考专业
相关试题推荐
印度列国时代出现了16个国家,其中大部分是王国,只有少数的共和国。下列属于共和国的是()。
阅读材料并结合背景知识回答问题:材料到17世纪60年代,伟大的科学学会的时代到来了:英国皇家学会、法国科学院先后成立。此前,科学工作在很大程度上仰仗于国王对科学家个人的资助一第谷领取丹麦国王的津贴,开普勒由德意志皇帝资助;或者靠某些科学“爱好者”、赞助者
阅读材料并结合背景知识回答问题:材料到17世纪60年代,伟大的科学学会的时代到来了:英国皇家学会、法国科学院先后成立。此前,科学工作在很大程度上仰仗于国王对科学家个人的资助一第谷领取丹麦国王的津贴,开普勒由德意志皇帝资助;或者靠某些科学“爱好者”、赞助者
赋税是我国古代国家宏观管理经济的重要手段。 据此回答问题:明朝推行一条鞭法中“一”的内容是()
张居正改革期间,调任抗倭名将()镇守蓟门,对安定北方发挥了积极作用。
根据1931年的威斯敏斯特法,英国()。
1928年10月,国民党中央常务委员会通过的废除议会制度的文件是()。
IP数据报的报文格式如下图所示。在没有选项和填充的情况下,报头长度域的值为()。
某网络的拓扑结构由下图所示,其中顶点表示路由器。该网络的路由器采用了链路状态路由算法,在某一时刻各个路由器发送的链路状态如下:A:B(1),D(3)B:A(1),D(1),C(3),E(5)C:B(3),D(1)D:A(3),B(1
试比较脱机I/O和联机I/Oo
随机试题
氧气、乙炔严禁混合运输、保管、使用,瓶与瓶之间的距离不小于5m,与明火的距离不小于10m。()
下列职责中,()岗位是不相容职责。
知识产权是专利权、商标权、著作权等( )专有权的统称。
我国公民李某为某市重点高中的数学老师,2010年度取得的收入明细情况如下所示:(1)每月取得工资收入6000元。(2)5月,转让专利权取得收入25000元,缴税前从中依次拿出5000元、3000元,通过国家机关捐赠给农村义务教育。(3)9月,获得稿酬
甲公司为增值税一般纳税人,适用的增值税税率为17%,2014年度至2016年度发生的有关业务资料如下:(1)2014年1月1日,甲公司为自行建造一栋仓库从银行取得借款500万元,期限为3年,合同利率为6%(合同利率与实际利率一致),不计复利,到期一次还本
理性认识的基本形式是()。
现在中央对安全生产很重视,但有的地方总会出现小煤窑倒塌、爆炸等安全事故,你认为主要原因是什么?
AgingposesaseriouschallengetoOECD(OrganizationofEconomicCo-operationandDevelopment)countries,inparticular,howto
A、 B、 C、 D、 D
AnnBest:Yourspecialreportonnewmedicinesshowedthereisthrillingpromiseinfuture"cures"forsomanydiseasesthat
最新回复
(
0
)