Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/393.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/0/performance/5.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_Performance_Algorithm_Search_Sorting - Fatal编程技术网

高效地实现搜索和;Java中的排序算法

高效地实现搜索和;Java中的排序算法,java,performance,algorithm,search,sorting,Java,Performance,Algorithm,Search,Sorting,有没有人能很好地参考一组通用搜索和排序算法的Java代码实现 有很多方法可以剥猫皮(在网上很容易找到各种算法的Java代码),但是有没有一个Java中实现这些算法的最有效方法的列表 例如,有很多实现,但大多数实现都是用C/C++实现的 干杯 我发现Sedgewick的《Java中的算法(第1-4部分)》一书很有用。代码是,但如果没有这本书,可能很难理解。算法的运行时复杂性与实现它的编程语言无关,因此您不应该太在意。但是既然你问,我会考虑使用。例如,当我搜索“java快速排序”时,请看我的搜索结果

有没有人能很好地参考一组通用搜索和排序算法的Java代码实现

有很多方法可以剥猫皮(在网上很容易找到各种算法的Java代码),但是有没有一个Java中实现这些算法的最有效方法的列表

例如,有很多实现,但大多数实现都是用C/C++实现的


干杯

我发现Sedgewick的《Java中的算法(第1-4部分)》一书很有用。代码是,但如果没有这本书,可能很难理解。

算法的运行时复杂性与实现它的编程语言无关,因此您不应该太在意。但是既然你问,我会考虑使用。例如,当我搜索“java快速排序”时,请看我的搜索结果。

地图、集合、列表等的一些标准算法可用。你必须这样做,只要有


对于常见的用例,算法应该非常有效,但当然,对于每种算法,都有一个最坏的数据场景。因此,在特殊情况下,您将能够找到或生成更好的源代码。

我建议您查看Java标准库源代码本身

和类具有二进制搜索和二进制排序实现,您可以对其进行研究


这是openjdk的Collections.java的源代码:

对性能比较的实现和基准有很好的评价。

是的,我理解,核心是相同的,但一些IMPL的开销更大,在不需要的地方使用额外的VAR(比如保留计数器等)。两点:1,如果您理解,那你为什么在乎?一旦开始使用足够大的数据集,impl的收益就会被淹没。2.我明确列出了grepcode,因为您要求。