首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
考研
已知数组A[1……n]的元素类型为整型int,设计一个时间和空间上尽可能高效的算法,将其调整为左右两部分,左边所有元素为负整数,右边所有元素为正整数。不要求对这些元素排序。 (1)给出算法的基本设计思想; (2)根据设计思想,采用C或C++
已知数组A[1……n]的元素类型为整型int,设计一个时间和空间上尽可能高效的算法,将其调整为左右两部分,左边所有元素为负整数,右边所有元素为正整数。不要求对这些元素排序。 (1)给出算法的基本设计思想; (2)根据设计思想,采用C或C++
admin
2013-07-12
41
问题
已知数组A[1……n]的元素类型为整型int,设计一个时间和空间上尽可能高效的算法,将其调整为左右两部分,左边所有元素为负整数,右边所有元素为正整数。不要求对这些元素排序。
(1)给出算法的基本设计思想;
(2)根据设计思想,采用C或C++或JAVA语言表述算法,关键之处给出注释;
(3)说明你所设计算法的时间复杂度和空间复杂度。
选项
答案
(1)算法的基本设计思想如分析所述。 (2)用C语言算法描述如下: void Adjust(int A[]){ //调整数组A,使得A的左边为负整数。右边为正整数 int i=1,j=n,temp; whi1e(i
0&&i
解析
本题主要考查线性表的顺序存储结构(这里为数组)的应用。算法的基本设计思想是先设置好上、下界和轴值,然后分别从数组前端查找正整数和从数组末端查找负整数,找到后进行交换,直到上、下界相遇。
具体做法是:设置两个指示器i和j,其中i=1,j=n;当A
为正整数,A[j]为负整数时,A
和A[j]交换;否则,A
为负整数时,则i++;A[j]为正整数时,则j--。这样,可使算法的时间复杂度为O(n)。
转载请注明原文地址:https://kaotiyun.com/show/crxi777K
本试题收录于:
计算机408题库学硕统考专业分类
0
计算机408
学硕统考专业
相关试题推荐
下列不属于清统治者加强文化专制和思想控制的是()
西欧早期资产阶级反封建斗争以反天主教会的方式进行,主要原因是()①天主教会是最有势力的封建主集团②天主教会是封建的精神工具③天主教会日益腐败④近代自然科学的兴起
简述清代秘密立储制的操作并作出评价。
【伊壁鸠鲁】中国人民大学2015年世界通史真题
【萧规曹随】华东师范大学2003年中国古代史真题;南京大学2003年中国古代史真题;中国人民大学2003年中国古代史真题;南京大学2014年中国古代史真题
试析第三次科学技术革命对人类社会和历史进程的影响。
假设系统的所有资源是同类型的,系统中的进程每次申请资源数最多1个,那么,下面列出的4种情况中,()可能发生死锁。情况序号系统中进程数资源总量
在一个双链表中,在*p结点之前插入*q结点的操作是()。
假设二叉树采用二叉链表存储结构存储,试设计一个算法,求出该二叉树中第一条最长的路径长度以及此路径上各结点的值。
设有一个含200个表项的散列表,用线性探查法解决冲突,按关键码查询时找到一个表项的平均探查次数不超过1.5,则散列表项应能够至少容纳的表项的数目是()。
随机试题
本病诊断为下一步做何检查
55岁,农民,多次发生进入谷仓数小时后的咳嗽,呼吸困难,发热与肌痛,在下列各项论述中除哪项外,均正确
A.阻生尖牙位于脬侧,可呈水平位、垂直位或半垂直位B.阻生尖牙位于唇侧,可呈水平位、垂直位或半垂直位C.阻生尖牙位于腭及唇侧D.阻生尖牙位于牙槽突,多为垂直位,在侧切牙和第一前磨牙之间E.无牙颌之阻生尖牙称
A.检查者偏倚B.回忆偏倚C.报告偏倚D.选择性偏倚E.无应答偏倚调查对象因时间久远,难以准确回忆使回答不准确而造成的是
滤池的工作周期为
梗阻性黄疸病人,下列哪项检查对诊断价值不大
下列关于企业所得税收入确认时间的说法中,不正确的是()。
河南新郑出土的莲鹤方壶是春秋时期青铜器的典型代表作品。()
建立社会主义市场经济体制,就是要使市场在国家宏观调控下对社会资源的配置起决定性作用。()
y2+xy+1
最新回复
(
0
)