在构建排序算法以对数组进行排序时,数组中有多少个n个元素比插入排序要快得多?我知道快速排序适用于更多元素,而插入排序适用于较小的尺寸。但是,您是否想知道快速排序比插入排序要好得多吗?
答案 0 :(得分:0)
这些算法不仅仅取决于数组的大小来确定其运行时间。对于快速排序,算法选择的枢轴可能会对运行时产生重大影响。如果枢轴始终是最大或最小元素,则快速排序将使用O(n^2)
。插入排序还受数组大小以外的因素影响。如果按顺序插入元素,则算法可能允许O(n)
的运行时,无论数组大小如何。但是,如果以相反顺序插入,则此算法将使用O(n^2)
。由于这些因素,没有大小n可以保证一种算法的性能优于另一种。如果您担心大型数组的排序算法的运行时,则应该检查一下heapsort或mergesort,它们都是O(n log n)
并且速度更快!