首页 > 试题广场 >

题目来源于王道论坛 在内部排序时,若选择了归

[单选题]
题目来源于王道论坛

在内部排序时,若选择了归并排序而没有选择插入排序,则可能的理由是

Ⅰ.归并排序的程序代码更短 Ⅱ.归并排序的占用空间更少

Ⅲ.归并排序的运行效率更高


  • 仅Ⅱ
  • 仅Ⅲ
  • 仅Ⅰ、Ⅱ
  • 仅Ⅰ、Ⅲ
推荐

解析:

归并排序代码比选择插入排序更复杂,前者空间复杂度是O(n),后者是O(1)。但是前者时间复杂度是O(nlogn),后者是O(n2)。所以B正确。

发表于 2018-06-16 10:56:21 回复(0)
归并排序虽说复杂,占用内存,代码量大,但是他的效率相对选择排序来说是比较高的
发表于 2018-10-25 17:47:10 回复(0)
归并排序的空间复杂度是O(n),直接选择排序是O(1)
归并排序的时间复杂度是O(nlogn),直接选择排序是O(n2)
选择一种排序算法的根本是考虑它 的效率

发表于 2019-04-17 10:37:23 回复(0)
不稳定排序:
同(桶排序)学,快(快速排序)些(希尔排序)选(选择排序)堆(堆排序)人。
O(n):
统(桶)计(基数排序)个数;
O(nlogn):
跑的快(快速排序)的归(归并排序)为一队(堆排序);
O(n^2)
选择(选择排序)相貌(冒泡排序)好的直接插入(直接插入排序)比赛;
发表于 2020-03-03 10:07:57 回复(0)
首先选择排序的时间复杂度最优最坏和平均都为O(n2)
,而归并的时间复杂度则都为O(nlog2n),
可见归并的效率高;III对
我感觉是越优的算法你的步骤就会越复杂,
例如冒泡和选择代码都很简单,
所以归并比选择代码复杂;I错
其次归并是属于用空间换时间的算法,
在堆区new出了空间,
而选择排序不需要创建空间,空间复杂度为o(1),
所以II错。

发表于 2019-01-18 21:49:22 回复(1)