首页 > 试题广场 >

下面排序算法中, 算法可能会出现下面情况:初始数据有序时,花

[单选题]

下面排序算法中, 算法可能会出现下面情况:初始数据有序时,花费的时间反而最多


  • 堆排序
  • 冒泡排序
  • 快速排序
  • 希尔(Shell)排序
初始数据越无序,快速排序越好。
发表于 2018-01-28 18:30:36 回复(0)
快排的哨兵元素一般选择第一个位置,如果有序的,那么右指针就会遍历完所有的元素,而且做的是无用功( 因为走了那么多步却不进行元素交换 ),对每个元素为哨兵都要进行一次快排,因此达到的最坏的时间复杂度 O( n² ) 
编辑于 2019-07-24 11:03:30 回复(0)
初始数据越无序,快排效果越好
发表于 2019-09-04 12:34:15 回复(0)
c
发表于 2018-02-06 22:17:08 回复(0)
选C,快速排序采用分治法,每次排序会把数据分成两部分,一部分小于轴值,另一部分大于轴值。当数据越无序,那么分成的两部分数据数据量越差不多。如果是有序,那就很慢了
发表于 2018-01-29 09:10:30 回复(0)