为什么这个属性快速排序?

时间:2016-01-10 06:45:26

标签: algorithm sorting data-structures

为什么快速排序一组已经排序的项目并以相同的速度反向排序项目。

为什么其他人不喜欢堆排序,插入排序或选择排序?

1 个答案:

答案 0 :(得分:0)

标准选择排序,堆排序和快速排序不是adaptive,因为插入排序是。

查看sorting algorithm比较表 例如,选择排序的最佳和最差情况都具有复杂度O(n ^ 2) - 每个循环运行总是遍历预定的数组。

快速排序的速度取决于给定数据集的分区元素的正确选择。如果分区是愚蠢的(例如,一个总是获得片段的第一个元素),则排序顺序可能会影响,否则最差(二次)情况的概率相当小。

如果您需要对几乎已排序的数据集进行排序,请选择一些自适应排序,例如,自然合并排序(或小数据集的插入排序)。