首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
考研
已知数组A[1……n]的元素类型为整型int,设计一个时间和空间上尽可能高效的算法,将其调整为左右两部分,左边所有元素为负整数,右边所有元素为正整数。不要求对这些元素排序。 (1)给出算法的基本设计思想; (2)根据设计思想,采用C或C++
已知数组A[1……n]的元素类型为整型int,设计一个时间和空间上尽可能高效的算法,将其调整为左右两部分,左边所有元素为负整数,右边所有元素为正整数。不要求对这些元素排序。 (1)给出算法的基本设计思想; (2)根据设计思想,采用C或C++
admin
2014-12-08
71
问题
已知数组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; while(i
0&&i
解析
本题主要考查线性表的顺序存储结构(这里为数组)的应用。算法的基本设计思想是先设置好上、下界和轴值,然后分别从数组前端查找正整数和从数组末端查找负整数,找到后进行交换,直到上、下界相遇。
具体做法是:设置两个指示器i和j,其中i=1,j=n;当A
为正整数,A[j]为负整数时,A
和A[j]交换;否则,A
为负整数时,则i++;A[j]为正整数时,则j--。这样,
可使算法的时间复杂度为O(n)。
转载请注明原文地址:https://www.kaotiyun.com/show/44xi777K
本试题收录于:
计算机408题库学硕统考专业分类
0
计算机408
学硕统考专业
相关试题推荐
概述当代科技革命的主要特点。
评析义和团运动失败的原因及其历史意义。
19世纪70年代,人类进入“电气时代”,在此方面领先一步的国家是()。
“文化大革命”发动的两个纲领性文件是()。
我国第一部系统的史学理论著作是()。
安德罗波夫执政期间,苏联在农业体制改革方面采取了一项重要措施是()。
美国的垄断组织主要采取的形式是()。
提出行星绕太阳运行的轨道是椭圆形的天文学家是()。
“二战”期间,美国研制了原子弹并用于实践;1946年美国投入使用的第一台电子计算机最初是用于计算炮弹弹道的;德国人研制成功的远程液体火箭是用于空袭英国的。以上史实说明()。
试编写一个非递归算法,实现求以二叉链表存储的二叉树中q结点的祖先。
随机试题
TermsandConditionsofEmploymentThesetermsandconditionsshouldbereadbeforeyousignyourcontract.Salary:Yoursta
简述智者派的教育实践与教育改革的主张。
恶性组织细胞类型不包括
厥阴经头痛的部位是
关于盗窃罪,下列哪一选项是错误的?()
企业价值运动中,资金的循环与周转包括()。
儿童记忆策略的发展经历了()三个阶段。
运动会上正在进行10000米径赛。参加比赛的是A、B、C、D、E、F六个人。关于谁会获得冠军,大家各有看法:甲说,冠军不是A就是B。乙说,冠军绝不是C。丙说,D、E、F都不可能获得冠军。比赛结束后,人们发现他们三个人中只有一个人的说法是正确的,请问谁是10
社会保障基金来源于()。
“癸卯学制”的特点是什么?
最新回复
(
0
)