首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
考研
已知顺序表A,在不改变顺序表中奇数号元素与偶数号元素相对位置的前提下,设计算法,将所有奇数号元素移到所有偶数号元素前。 (1)给出算法的基本设计思想。 (2)根据设计思想,采用C或C++或Java语言描述算法,关键之处给出注释。 (3)说明你所设计算法的时
已知顺序表A,在不改变顺序表中奇数号元素与偶数号元素相对位置的前提下,设计算法,将所有奇数号元素移到所有偶数号元素前。 (1)给出算法的基本设计思想。 (2)根据设计思想,采用C或C++或Java语言描述算法,关键之处给出注释。 (3)说明你所设计算法的时
admin
2023-02-06
109
问题
已知顺序表A,在不改变顺序表中奇数号元素与偶数号元素相对位置的前提下,设计算法,将所有奇数号元素移到所有偶数号元素前。
(1)给出算法的基本设计思想。
(2)根据设计思想,采用C或C++或Java语言描述算法,关键之处给出注释。
(3)说明你所设计算法的时间复杂度和空间复杂度。
选项
答案
(1)基本的设计思想:先将偶数号元素复制到一个辅助空间,然后整理数组剩下的奇数号元素,最后将辅助空间中的元素复制到数组的后半部分,但这种思路的空间复杂度为O(n)。另一种思路: ①在数组尾部从后往前找到第一个奇数号元素,将此元素与其前面的偶数号元素交换。这样,就形成了两个前后相连且相对顺序不变的奇数号元素“块”。 ②暂存①中“块”前面的偶数号元素,将“块”内奇数号结点依次前移,然后将暂存的偶数号结点复制到空出来的数组单元中。就形成了三个连续的奇数号元素“块”。 ③暂存②中“块”前面的偶数号元素,将“块”内奇数号结点依次前移,然后将暂存的偶数号结点复制到空出来的数组单元中。就形成了四个连续的奇数号元素“块”。④如此继续,直到前一步的“块”前没有元素为止。 (2)算法的设计如下: [*] (3)一共进行了n/2次交换,每次交换的元素个数从1-n/2,因此时间复杂度为O(n
2
)。虽然时间复杂度为O(n
2
),但因n
2
前的系数很小,实际达到的效率是很高的。算法的空间复杂度为O(1)。
解析
转载请注明原文地址:https://www.kaotiyun.com/show/QEwD777K
本试题收录于:
计算机408题库学硕统考专业分类
0
计算机408
学硕统考专业
相关试题推荐
教育要适应儿童身心发展的规律,所以教育必须被动迁就儿童身心发展的现有水平和特点。()
根据课程实施的主体不同,可把课程分为基础型课程、拓展型课程、研究型课程。()
李老师为了讲解好“买方市场与卖方市场”这一知识点,为学生播放了不同的买卖视频录像,让学生更为直观地理解买方市场与卖方市场的区别。在这种导课方式中,李老师主要是()进行导课的。
遗传素质为人的身心发展提供了必要的生物前提和发展的潜在可能性。()
关于教师和学生关系的两个对立观点是()。
在新课程下,教学的预设与生成的关系是()。
下列变化过程中包含化学反应的有:①鬼火②光合作用③水垢形成④高粱酿酒⑤舞台云雾的生成
从所给的四个选项中,选择最合适的一个填入问号处,使下图中的立体图形①、②、③和④可组成一个完整的长方体。
研究人员介绍,来源于化脓链球菌的Cas9核酸酶现已广泛应用于水稻基因组编辑,有效促进了水稻功能基因组学研究和分子育种进程。Cas9在进行基因组编辑的过程中需要识别、结合一段位于编辑位点靶DNA序列末端的保守NGG序列(该保守序列被称为PAM识别序列,N为碱
已知3个带头结点的线性链表A、B、C中的结点均依元素值自小至大非递减排列(可能存在两个以上值相同的结点),编写算法对链表A进行如下操作:使操作后的链表A中仅留下3个表中均包含的数据元素的结点,且没有值相同的结点,并释放所有无用结点。限定算法的时间复杂度为O
随机试题
腰椎间盘突出症常见于( )。
施工现场临时用水量计算包括()。
某旅游资源地面积为600000m2,其中可供游客游憩的面积(包括道路、休息观赏地)为总面积的50%。旅游承载力的影响因素有()。
通过自由联想式的讨论来寻找解决问题的可能办法是()。
患者在听收音机时能听到骂他的声音,关闭收音机时骂他的声音随即消失,这种幻觉是()
安慰剂效应又称假药效应,指的是病人虽然没有获得有效的治疗,但却“预料”或“相信”治疗有效,而让病患症状得到舒缓的现象。下列各项,属于安慰剂效应的一项是()。
把下面的六个图形分成两类,使每一类图形都有各自的共同特征或规律,分类正确的一项是:
正式审议和通过了《关于建国以来党的若干历史问题的决议》,标志着党在指导思想上拨乱反正的历史任务的完成的会议是()。
Doyoufeelterrifiedwhenyougoforajobinterview?Ithinkweallfeelthesamewaytoagreaterorlesserextent.It’s
A、Listeningtotheradio.B、Readinganewspaper.C、Watchingtelevision.D、Watchingasportsgame.B
最新回复
(
0
)