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_Big O - Fatal编程技术网

Sorting 我需要一个项目,不是合并,快速排序,或堆快速排序

Sorting 我需要一个项目,不是合并,快速排序,或堆快速排序,sorting,big-o,Sorting,Big O,我已经花了一个小时左右的时间寻找上面没有列出的种类。我在其他地方问过,但人们只是以最慢的方式回答。请帮忙。它必须不低于O(n logn) 感谢选择最快的算法对数据进行排序实际上取决于所排序的数据 您可以使用计数排序,它需要O(N+R);其中R是值的范围。因此,元素范围越大,时间越长 或快速排序: 对数据数组进行排序的最快方法是只扫描数据,这将为第一个元素提供N选择,为第二个元素提供N-1选择,依此类推,直到最后一个元素只有1选择。这最终得到一个排序算法,可以在O(N!)中完成N可近似为2^(N*

我已经花了一个小时左右的时间寻找上面没有列出的种类。我在其他地方问过,但人们只是以最慢的方式回答。请帮忙。它必须不低于O(n logn)


感谢

选择最快的算法对数据进行排序实际上取决于所排序的数据

您可以使用计数排序,它需要
O(N+R)
;其中
R
是值的范围。因此,元素范围越大,时间越长

或快速排序: 对数据数组进行排序的最快方法是只扫描数据,这将为第一个元素提供
N
选择,为第二个元素提供
N-1
选择,依此类推,直到最后一个元素只有
1
选择。这最终得到一个排序算法,可以在
O(N!)
中完成<代码>N可近似为
2^(N*logn)
;因此,在
O(N*logn)
中进行快速排序

不存在比
O(N*logn)
更快的排序算法

加快排序的一个技巧是使用无限多的处理器,这可以将时间复杂度降低到
0(logn)
,但是对于大型
N
,您可以看到这是多么不实用

或者可以使用并行工作的
logn
处理器将时间复杂度提高到
O(N)
。但同样,并行处理更像是一种技巧。算法本身没有压缩到
O(N)