Notice: Undefined index: in /data/phpspider/phplib/misc.function.php on line 226

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 计数排序比快速排序好吗?_Java_Sorting - Fatal编程技术网

Java 计数排序比快速排序好吗?

Java 计数排序比快速排序好吗?,java,sorting,Java,Sorting,我已经用Java语言编写了计数排序和快速排序的代码来对整数进行排序。对于较小的输入,这两种代码都可以正常工作,但是当我给出100000个数组的大小时,快速排序停止工作,而计数排序将正确排序。因此,当未排序数组的大小非常大时,我可以说使用计数排序优于快速排序吗?我正在使用EclipseIDEOxygen.3a版本(4.7.3a)。提前感谢。计数排序的时间复杂度更好,但空间复杂度更差。所以,如果你有非常大的集合,这实际上取决于什么对你来说更重要,内存消耗还是CPU消耗 应该注意的是,虽然计数排序在计

我已经用Java语言编写了计数排序和快速排序的代码来对整数进行排序。对于较小的输入,这两种代码都可以正常工作,但是当我给出100000个数组的大小时,快速排序停止工作,而计数排序将正确排序。因此,当未排序数组的大小非常大时,我可以说使用计数排序优于快速排序吗?我正在使用EclipseIDEOxygen.3a版本(4.7.3a)。提前感谢。

计数排序的时间复杂度更好,但空间复杂度更差。所以,如果你有非常大的集合,这实际上取决于什么对你来说更重要,内存消耗还是CPU消耗

应该注意的是,虽然计数排序在计算上更优越,但它仅适用于小整数值的排序。因此,尽管它具有优越性,但它并不总是快速排序的有效替代品。因此,声称它完全取代了快速排序作为一种选择是不准确的


有关详细信息,请参阅以下链接:

计数排序的时间复杂度更好,但空间复杂度更差。所以,如果你有非常大的集合,这实际上取决于什么对你来说更重要,内存消耗还是CPU消耗

应该注意的是,虽然计数排序在计算上更优越,但它仅适用于小整数值的排序。因此,尽管它具有优越性,但它并不总是快速排序的有效替代品。因此,声称它完全取代了快速排序作为一种选择是不准确的


有关详细信息,请参阅以下链接:

当可能值的范围有限时(如您知道,所有数字都是从1到100),将使用计数排序。快速排序用于其他情况:)快速排序停止工作-似乎您在实现它时犯了错误。Arrays.sort()方法应该可以正常工作。如果您没有提供足够的信息来获得有意义的答案。计数排序只适用于快速排序可以解决的问题的一个子集。正确的选择取决于许多其他因素。如果计数排序正确,这通常是最好的选择。@Leo Leontev我已经提到,这两种算法对于较小的输入都能正常工作。@Coderandhacker我在下面添加了一个正确的答案,说明了随着数据集的增长这两种算法的优点。@Coderandhacker可能您的快速排序实现不快:)尝试搜索快速排序的示例InternetCounting排序是在可能值的范围有限时使用的(例如,如果您知道,所有数字都是从1到100)。快速排序用于其他情况:)快速排序停止工作-似乎您在实现它时犯了错误。Arrays.sort()方法应该可以正常工作。如果您没有提供足够的信息来获得有意义的答案。计数排序只适用于快速排序可以解决的问题的一个子集。正确的选择取决于许多其他因素。如果计数排序正确,这通常是最好的选择。@Leo Leontev我已经提到,这两种算法对于较小的输入都能正常工作。@Coderandhacker我在下面添加了一个正确的答案,说明了随着数据集的增长这两种算法的优点。@Coderandhacker可能您的快速排序实现不快:)尝试搜索快速排序的示例国际互联网认为,如果说计数排序的空间复杂度更差,这是一种误导:它可能更差,也可能更好,这取决于N和K的相对值。我认为,甚至不应该考虑计数排序,除非K比N小得多。@DanielPryden fair point。你想编辑答案吗?我很乐意批准。我认为,如果说计数排序的空间复杂度更差,这是一种误导:它可能更差,也可能更好,这取决于N和K的相对值。我认为,除非K很大,否则甚至不应该考虑计数排序,远远小于N.@DanielPryden fair point。你想编辑答案吗?我很乐意批准。