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

问题描述 投票:1回答:1

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

感谢您的帮助!

algorithm sorting bubble-sort insertion-sort
1个回答
0
投票

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

如果需要证明,您可以写出冒泡排序/修改过的冒泡排序/插入排序,然后查看在不需要排序的情况下会发生什么。

编辑:

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

Which sort algorithm works best on mostly sorted data?

这里有类似问题。

© www.soinside.com 2019 - 2024. All rights reserved.