早教吧考试题库频道 --> 计算机类考试 -->软考中级 -->
将两个长度为n的递增有序表归并成一个长度为2n的递增有序表,最少需要进行关键字比较(59)次。A.1B.
题目
将两个长度为n的递增有序表归并成一个长度为2n的递增有序表,最少需要进行关键字比较(59)次。
A.1
B.n-1
C.→n
D.2n
参考答案
正确答案:C
解析:考生首先要明白两个前提:一是要归并的两个表都是递增有序的,且长度都为n,二是题目问的是最少的关键字比较次数,即最好的情况下的比较次数。而最好的情况应该是:一个表的所有关键字都大于(或小于)另一个表的所有关键字,如:(1234)与(5678)。比较的时候有两个指针分别指向两个表的第一个元素,由于一个表的关键字要都大于另一个表的关键字,所以关键字小的表中的元素挨个与关键字大的表的第一个元素比较后,先被并入到新表中,这时关键字大的表的指针还是指向第一个元素没变,此时只需将关键字大的表复制到新表中即可。所以花费的比较次数就是关键字小的表长,也就是n。
解析:考生首先要明白两个前提:一是要归并的两个表都是递增有序的,且长度都为n,二是题目问的是最少的关键字比较次数,即最好的情况下的比较次数。而最好的情况应该是:一个表的所有关键字都大于(或小于)另一个表的所有关键字,如:(1234)与(5678)。比较的时候有两个指针分别指向两个表的第一个元素,由于一个表的关键字要都大于另一个表的关键字,所以关键字小的表中的元素挨个与关键字大的表的第一个元素比较后,先被并入到新表中,这时关键字大的表的指针还是指向第一个元素没变,此时只需将关键字大的表复制到新表中即可。所以花费的比较次数就是关键字小的表长,也就是n。
看了将两个长度为n的递增有序表归并...的网友还看了以下:
(3)用Sn表示第n行的所有数的和,观察S1、S2、S3……,根据规律猜想Sn为多少?(用含n的代数 数学 2020-03-30 …
已知数列{an}满足a1=1an+1=Sn+(n+1)(1)用an表示an+1(2)证明数列{an 数学 2020-04-27 …
在matlab中,如何定义函数式子中的未知常数.即,在做某个迭代程序时,函数中含有未知常数(用字母 数学 2020-05-14 …
在公差不为零的等差数列{x(n)}和等比数列{y(n)}中,已知x1=1,且x1=y1,x2=y2 数学 2020-06-04 …
是否存在等差数列{an}使a1Cn0+a2Cn1+a3Cn2+…+a(n+1)Cnn=n*2^n… 数学 2020-06-12 …
用氨合成尿素的反应为2NH3(g)+CO2(g)⇌CO(NH2)2(1)+H2O(g).工业生产时 化学 2020-07-03 …
夏至日当天90°太阳辐射日总量比70°数值大的主要原因是有一个表格的,是夏至日不同纬度到达地表的太阳 其他 2020-11-17 …
英语单词表里的,n.prep.adv.adj.conj.v.modal.interj.等表示的英语单 英语 2020-12-05 …
..(应该算概率方面的吧)由于我的概率论比较差...所以有时做ACM的递推时有很多问题...下面这个 数学 2020-12-28 …
下图为地球自转示意图,阴影部分表示夜晚,箭头表示地球自转方向,此时[]A、M地的白天比N地短B、M地 语文 2021-01-22 …