首页 > 试题广场 >

若数据元素序列 11 , 12 , 13 , 7 , 8 ,

[单选题]

若数据元素序列 11 12 13 7 8 9 23 4 5 是采用下列排序方法之一得到的第二趟排序后的结果,则该排序算法只能是()

  • 冒泡排序
  • 插入排序
  • 选择排序
  • 二路归并排序

解答本题需要对各种排序算法的特点极为清楚。对于冒泡排序和选择排序,每一趟都能确定一个元素的最终位置,而题目中,前 2 个元素和后 2 个元素均不是最小或最大的 2 个元素并按序排列。选项 D 中的 2 路归并排序,第一趟排序结束都可以得到若干个有序子序列,而此时的序列中并没有两两元素有序排列。插入排序在每趟排序后能确定前面的若干元素是有序的,而此时第二趟排序后,序列的前三个元素是有序的,符合其特征。

发表于 2017-06-05 22:00:29 回复(0)
更多回答
首先,A.冒泡排序会使:最大的数放在最后,第二大的放在倒数第二(按从小到大排序)。C.选择排序会在第i趟将第i小的数放在第i个位置上(按从小到大排序)。根据题目可排除这两个排序。D。对应2 路归并排序,第一趟排序结束可以得到若干个有序子序列,因此不符合。B.插入排序,在开始排序时将第一个元素看成有序,从第二个元素开始与前元素比较,因此第i趟结束,前i+1个元素是有序的。符合题目的的元素排序。
编辑于 2017-08-11 15:01:26 回复(0)
可以先利用排除法:
冒泡排序:每趟排序后最大的值会在末尾,序列最大值23不在末尾,可以排除
选择排序:每趟排序最小的值会在首位,序列最小值4不在首位,可以排除
二路归并排序:这个序列第一趟排序之后可以为11 12 13 7 8 9 23 4 5 ,但是第二趟为7,8,11,12,13,4,5,9,23,所以也可以排除

再来看插入排序,插入排序特点为前面的序列保持排序状态,该序列前面的序列11,12,13刚好满足。

编辑于 2019-10-21 20:57:16 回复(0)