选择排序是否比反向数组中的插入排序更快?
Is selection sort faster that insertion sort in reverse arrays?
如果我们有一个倒序数组,选择排序是否比插入排序快?
我认为选择排序更快,因为我们有 O(n^2)
搜索和 O(n)
交换,但在插入排序中我们有 O(n^2)
交换和 O(n^2)
搜索。
任何人都可以告诉我我是否正确?
谢谢
我已经在我自己的 Python 实现中针对这个主题做了一些基准测试。这在很大程度上取决于您的输入类型。我发现对于随机排序的输入,插入排序稍微快一点(比如 3%),但是对于反向排序的输入,选择排序要快得多。我一直听说选择排序是两者中速度更快的,但我自己的实施基准并没有反映出这一点。
如果我们有一个倒序数组,选择排序是否比插入排序快?
我认为选择排序更快,因为我们有 O(n^2)
搜索和 O(n)
交换,但在插入排序中我们有 O(n^2)
交换和 O(n^2)
搜索。
任何人都可以告诉我我是否正确? 谢谢
我已经在我自己的 Python 实现中针对这个主题做了一些基准测试。这在很大程度上取决于您的输入类型。我发现对于随机排序的输入,插入排序稍微快一点(比如 3%),但是对于反向排序的输入,选择排序要快得多。我一直听说选择排序是两者中速度更快的,但我自己的实施基准并没有反映出这一点。