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
Java 对0和1的数组进行排序&;带o(1)的2s_Java_Sorting - Fatal编程技术网

Java 对0和1的数组进行排序&;带o(1)的2s

Java 对0和1的数组进行排序&;带o(1)的2s,java,sorting,Java,Sorting,我们是否可以对复杂度为O(1)的0、1和2数组进行排序 {0,1,2,0,1,2,0,1,2,2,1,0,1,1,2,2,0,0}排序算法始终依赖于n,因此不能在O(1)中对整个数组进行排序 关于排序算法的计算时间,请参阅以下引用: 元素比较的计算复杂性(最差、平均和最佳行为) 列表的大小(n)。对于典型的串行排序算法很好 行为是O(n logn),在O(log2n)中有并行排序,并且是坏的 行为是O(n2)。(参见大O符号)串行通信的理想行为 排序是O(n),但这在平均情况下是不可能的,即最优

我们是否可以对复杂度为O(1)的0、1和2数组进行排序


{0,1,2,0,1,2,0,1,2,2,1,0,1,1,2,2,0,0}

排序算法始终依赖于n,因此不能在O(1)中对整个数组进行排序

关于排序算法的计算时间,请参阅以下引用:

元素比较的计算复杂性(最差、平均和最佳行为) 列表的大小(n)。对于典型的串行排序算法很好 行为是O(n logn),在O(log2n)中有并行排序,并且是坏的 行为是O(n2)。(参见大O符号)串行通信的理想行为 排序是O(n),但这在平均情况下是不可能的,即最优的 并行排序是O(logn)。基于比较的排序算法, 它通过抽象键比较来评估列表中的元素 操作时,大多数输入至少需要O(n logn)比较


没有排序永远不会小于O(n),因为你至少要检查数组是否已经排序。@garima你知道O(1)是什么吗?如果你想一想你必须做什么,你就会意识到没有办法像Icewind所说的那样在排序上有O(1)的复杂性。不管你在排序什么,你至少要确认它是按顺序排列的,也就是O(n),并且通常要根据它的方法对它进行排序,它的复杂度在不同的范围内。你可以对这个特殊的数组进行排序
返回{0,0,0,0,0,0,1,1,1,1,1,2,2,2,2}
。不知道它是否算数。甚至这也需要O(n)才能返回。在没有任何先验知识的情况下,你不能在O(1)中做这件事。