Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/sorting/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Sorting 使用最小数量的比较进行排序_Sorting - Fatal编程技术网

Sorting 使用最小数量的比较进行排序

Sorting 使用最小数量的比较进行排序,sorting,Sorting,假设在未排序的数组中有N个需要排序的项,并且我支持数组中项之间的比较操作,但这非常昂贵,因此我希望执行尽可能少的比较。也就是说,我不只是想选择一个有保证的O(n logn)比较的排序算法,它可以达到一个比例因子,我想选择一个使用最少比较的算法。我应该选择什么算法?如果输入中没有已知模式,比较是重新排列元素的唯一方法,那么可能会重复,我认为我们对此没有明确的答案。CLRS算法书籍提供了一个数学证明,任何比较排序算法在最坏情况下都需要(n logn)比较。这可能不适用于计数排序之类的排序算法,但它们

假设在未排序的数组中有N个需要排序的项,并且我支持数组中项之间的比较操作,但这非常昂贵,因此我希望执行尽可能少的比较。也就是说,我不只是想选择一个有保证的O(n logn)比较的排序算法,它可以达到一个比例因子,我想选择一个使用最少比较的算法。我应该选择什么算法?

如果输入中没有已知模式,比较是重新排列元素的唯一方法,那么可能会重复,我认为我们对此没有明确的答案。CLRS算法书籍提供了一个数学证明,任何比较排序算法在最坏情况下都需要(n logn)比较。这可能不适用于计数排序之类的排序算法,但它们依赖于比较以外的操作。总之,我们需要了解更多关于输入的信息,才能比(n logn)做得更好。它将是n logn,但有一个常数因子乘以它,这对我来说很重要。如果输入和比较中没有已知模式,则可能重复,这是重新排列元素的唯一方法,我不认为我们有一个明确的答案。CLRS算法书籍提供了一个数学证明,任何比较排序算法在最坏情况下都需要(n logn)比较。这可能不适用于计数排序之类的排序算法,但它们依赖于比较以外的操作。总之,我们需要知道更多关于输入的信息,以便比(n logn)做得更好。它将是n logn,但有一个常数因子乘以它,这对我很重要。