对于已排序的数据,哪种排序方法最快?

时间:2019-10-19 22:30:26

标签: algorithm sorting bubble-sort insertion-sort

列表已排序时,哪种排序方法最快?所有排序算法如:[1]冒泡排序,[2]修改后的冒泡排序和[3]最佳情况下的插入排序将在O(n)处执行。因此,它们应该都一样快。当我尝试解决示例排序问题时,我发现它们实际上都是在O(n)上执行的。然后,我看到了一个图,该图表明插入排序将比其他两个快(在这里:https://www.toptal.com/developers/sorting-algorithms/nearly-sorted-initial-order)。我想知道对于已排序的数据(例如list = 1、2、3、4)是否正确?我认为他们同样快-是吗?

感谢帮助!

1 个答案:

答案 0 :(得分:0)

如果已经排序,则可能只是遍历列表中的每个元素以检查其顺序是否正确。所以O(n)是的。

如果需要证明,可以写出bubbleort /修改后的bubbleort /插入排序,然后查看什么都不需要排序的情况。

编辑:

另外,就像您说的那样,它可能是经过修改的Bubblesort。 (最类似于基本排序?检查)

Which sort algorithm works best on mostly sorted data?

类似的问题在这里。