首页 > 试题广场 >

已知数组元素基本有序的情况下,下面采用那个算法对数组排序时间

[单选题]
已知数组元素基本有序的情况下,下面采用那个算法对数组排序时间复杂度最低()
  • 直接选择排序
  • 堆排序
  • 快速排序
  • 直接插入排序
推荐
因为数组元素,基本有序,所以快速排序是最慢的,因为会退化成冒泡排序
选择排序时间复杂度都是O(n^2),堆排序都是O(nlogn),但是基本有序对插入排序是最好的
因为这样只需要比较大小,不需要移动,时间复杂度趋近于O(n)
编辑于 2015-11-03 12:21:16 回复(5)

选择排序与初始序列无关,都是O(n)。

在有序的情况下使用选择排序,交换次数会很少,但是比较次数不变。所以如果单问“交换次数”,可以是选择排序

发表于 2019-11-01 08:24:47 回复(0)
逆序算有序吗?算的话 用插入排序不是崩溃了
发表于 2022-01-03 23:58:39 回复(0)
选最高了……
发表于 2022-03-14 10:13:49 回复(0)