首页 > 试题广场 >

关于排序,以下说法正确的是( )

[单选题]
关于排序,以下说法正确的是(      )
  • 堆排序是不稳定的
  • 冒泡排序是不稳定的
  • 归并排序是不稳定的
  • 直接插入排序是不稳定的

首先,排序算法的稳定性大家应该都知道,通俗地讲就是能保证排序前2个相等的数其在序列的前后位置顺序和排序后它们两个的前后位置顺序相同。在简单形式化一下,如果Ai = Aj,Ai原来在位置前,排序后Ai还是要在Aj位置前。 其次,说一下稳定性的好处。排序算法如果是稳定的,那么从一个键上排序,然后再从另一个键上排序,第一个键排序的结果可以为第二个键排序所用。基数排序就是这样,先按低位排序,逐次按高位排序,低位相同的元素其顺序再高位也相同时是不会改变的。另外,如果排序算法稳定,对基于比较的排序算法而言,元素交换的次数可能会少一些(个人感觉,没有证实)。

  • 选择排序、快速排序、希尔排序、堆排序不是稳定的排序算法
  • 冒泡排序、插入排序、归并排序和基数排序是稳定的排序算法
发表于 2024-12-23 11:35:40 回复(0)