Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/algorithm/12.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

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
Algorithm 在一般情况下,“quicksort 3way”会比“quicksort”慢吗?_Algorithm_Sorting_Quicksort - Fatal编程技术网

Algorithm 在一般情况下,“quicksort 3way”会比“quicksort”慢吗?

Algorithm 在一般情况下,“quicksort 3way”会比“quicksort”慢吗?,algorithm,sorting,quicksort,Algorithm,Sorting,Quicksort,旨在帮助解决数组中多个/大多数项相等的情况 我的问题是,在一般情况下,quicksort 3waybeatsquicksort? 一般情况下,我的意思是没有多少项目是相等或更进一步的,所有项目都是不同的 我做过一些基准测试,我的感觉是,在一般情况下,quicksort 3way甚至比经典的quicksort更糟糕 想一想:你设计了一个算法来帮助你解决另一个算法的更坏情况。当然,在一般情况下,它不应该超过初始算法。三向快速排序的思想是改进最坏情况的行为,而不是一般情况下的行为 我觉得你的答案太高了

旨在帮助解决数组中多个/大多数项相等的情况

我的问题是,在一般情况下,
quicksort 3way
beats
quicksort

一般情况下,我的意思是没有多少项目是相等或更进一步的,所有项目都是不同的


我做过一些基准测试,我的感觉是,在一般情况下,
quicksort 3way
甚至比经典的
quicksort
更糟糕

想一想:你设计了一个算法来帮助你解决另一个算法的更坏情况。当然,在一般情况下,它不应该超过初始算法。三向快速排序的思想是改进最坏情况的行为,而不是一般情况下的行为

我觉得你的答案太高了,对吧?我在这里实际上是在解释为什么您没有提供关于特定实现的任何细节,而不是高级逻辑推理。我不能用这种方式给出更详细的答案。请注意链接中的这句话:
上面显示的3向分区代码是为了清晰而不是为了优化性能而编写的;它的局部性差,执行的交换比必要的多。
这可以用更精确的“一般情况”定义来回答。为什么不试试呢?