考虑到排序算法的正常实现,以下哪个选项是正确的?
注意 –此问题是多选题 (MSQ)。
(A)归并排序、插入排序和冒泡排序是一种稳定的排序算法。
(B)快速排序、堆排序、选择排序是一类非稳定排序算法。
(C)当数组排序时,插入和冒泡排序给出 n 的复杂度,但快速排序给出 n^2 的复杂度。
(D)当输入顺序未知时,首选归并排序,因为它的最坏情况时间复杂度为 nlogn 并且它也不稳定。答案: (A) (B) (C)
说明:归并排序、插入排序和冒泡排序是一种稳定的排序算法。
快速排序、堆排序、选择排序是一类非稳定排序算法。
当输入顺序未知时,首选归并排序,因为它的最坏情况时间复杂度为 nlogn,并且它也很稳定。
只有选项(D)是错误的。
参考——不同分拣技术的分析
这个问题的测验