[英]what is cut off value in sorting algorithms?
我被要求做快速排序,以插入排序终止。 但是我不明白临界值的含义。 我需要有人通过实际示例来详细说明这个概念。
没有看到确切的要求说明就很难确定。
但是,我认为这意味着您应该使用小于特定大小(“截断”)的插入排序( O(N^2)
)和大于该大小的O(NlogN)
排序( O(NlogN)
)。
它们可能意味着您需要对输入数组的大小进行此测试。
它们还可能意味着您实现了混合排序,并在快速排序分区大小小于阈值时在子数组上使用插入排序。
两种解释都是合理的。
我需要有人通过实际示例来详细说明这个概念。
我怀疑您需要一些示例来理解这一点。 如果您了解插入排序和快速排序算法,那么从概念上讲这很简单。 (而且,如果您不了解它们,那么可以从数据结构和算法教科书开始到很多地方阅读它们。)
一些算法在渐近性上优于其他算法。 在您的情况下,Quicksort的渐近运行时间为O(N(logN)),而插入排序的渐近运行时间为O(N ^ 2)。
这意味着对于较大的N值,Quicksort的运行速度将比插入排序快。
但是,对于较小的N值,插入排序可能会运行得更快。 因此,您可以将Quicksort的实际运行时间与较小数组大小的插入排序结合使用,以优化其实际运行时间。
Quicksort是一种递归算法,它将原始数组分解为较小的数组,并在每个子数组上递归运行。 使用插入排序进行切除意味着,一旦达到的数组大小小于某个恒定的切除大小,便可以使用插入排序对这些小的数组进行排序,而不是继续递归。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.