将两个各有 N 个元素的有序表归并成一个有序表,其最少、最多比较次数

将两个各有 N 个元素的有序表归并成一个有序表,其最少的比较次数是( )。
A.N
B.2N -1
C.2N
D.N -1
【答案】 A
【解析】 归并排序基本思想 :归并排序是多次将两个或两个以上的有序表合并成一个新的有序
表。最简单的归并是直接将两个有序的子表合并成一个有序的表。归并排序最好情况下的复杂度
为 O(n)。

延伸:
将两个各有 N 个元素的有序表归并成一个有序表,其最多的比较次数是( )。
A.N
B.2N -1
C.2N
D.N -1
【答案】 B
【解析】最多的比较次数是当两个有序表的数据刚好是插空顺序的时候,比如:第一个序列是1,3,5,第二个序列是2,4,6,把第二个序列插入到第一个序列中,先把第二个序列中的第一个元素2和第一个序列依次比较,需要比较2次(和1,3比较),第二个元素4需要比较2次(和3,5比较,因为4比2大,2之前的元素都不用比较了),第三个元素6需要比较1次(只和5比较),所以最多需要比较5次。即2n-1次。

发布了67 篇原创文章 · 获赞 25 · 访问量 2万+

猜你喜欢

转载自blog.csdn.net/qq_41104871/article/details/101108210