首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
考研
已知顺序表A,在不改变顺序表中奇数号元素与偶数号元素相对位置的前提下,设计算法,将所有奇数号元素移到所有偶数号元素前。 (1)给出算法的基本设计思想。 (2)根据设计思想,采用C或C++或Java语言描述算法,关键之处给出注释。 (
已知顺序表A,在不改变顺序表中奇数号元素与偶数号元素相对位置的前提下,设计算法,将所有奇数号元素移到所有偶数号元素前。 (1)给出算法的基本设计思想。 (2)根据设计思想,采用C或C++或Java语言描述算法,关键之处给出注释。 (
admin
2019-08-01
27
问题
已知顺序表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
学硕统考专业
相关试题推荐
永元四年(公元92年),汉和帝用宦官()掌握的一部分禁军,消灭了窦氏势力。郑众从此参与预政事,并受封为侯,这是宦官用权和封侯的开始。
张居正改革期间,调任抗倭名将()镇守蓟门,对安定北方发挥了积极作用。
唐太宗、武则天、唐玄宗(前期)都共同注意的问题是()
下列各组条约的时间排列顺序正确的是()。①《布列斯特条约》②《色佛尔条约》③《九国公约》④《洛桑条约》
晚清时期下列武装力量出现的先后顺序是
为了加强与乌孙的关系,西汉先后将()和()两位公主远嫁乌孙王,巩固了汉与乌孙的关系。
电子计算机的发展经过了四代,①电子数值积分计算机(ENIAC);②集成电路计算机;③大规模集成电路计算机;④晶体管计算机;⑤人工智能计算机,其先后顺序是()。
分页存储管理中,页表的功能是什么?当系统中的地址空间变得非常大时(如32位地址空间),会给页表的设计带来什么样的新问题?请给出一种解决方法,分析它的优点和缺点。
试比较脱机I/O和联机I/O。
假脱机技术(SPOOLing)中,被利用来做虚拟设备的是()。
随机试题
凡涉及人身和财产安全的设备应当符合国家或者行业安全生产标准。
患者女,53岁。耳道溢液伴耳痛1个月余。体检发现外耳道肉芽样新生物,质脆易出血,颈深上淋巴结肿大。CT提示外耳道骨质有破坏。患者所患疾病最有可能的是
患者6分钟步行实验步行距离为120步,患者应进行的体力活动为
A.失笑散 B.桃红四物汤 C.膈下逐瘀汤 D.少腹逐瘀汤 E.血府逐瘀汤治疗不孕血瘀型,首选的是
检验检疫机构对获得《出口玩具质量许可证》的企业出口的玩具实行抽查检验。 ( )
员工所提建议的数量属于平衡计分卡()方面的指标。
Therequirementsforhighschoolgraduationhavejustchangedinmycommunity.Asaresult,allstudentsmust【C1】______sixtyhou
过去数十年,行为经济学在很大程度上被视为一门边缘学科。尽管信奉传统经济学的人勉强承认人们有时会表现得缺乏理性,但他们往往会紧握自己的理论武器不放。他们辩称,行为经济学家和心理学家们所做的实验尽管非常有趣,却并没有削弱理性决策模型的效力,因为这些实验是在受控
甲、乙两种茶叶以xy(重量比)混合配制成一种成品茶,甲种茶每斤50元,乙种茶每斤40元,现甲种茶价格上涨10%,乙种茶价格下降10%后,成品茶的价格保持不变,则成品茶每斤单价为:
商标在中国政府主办的或者承认的国际展览会上展出的商品上首次使用的,该商标的注册申请人享有优先权的时间是()。
最新回复
(
0
)