有没有人对一套常见搜索和排序算法的Java代码实现有很好的参考。在Java中搜索和排序算法的高效实现
皮肤猫有很多种方法(在网上很容易找到各种算法的Java代码),但是有没有Java中最有效的方法列表来实现这些不同的算法?
有例如http://www.algorithmist.com但大多数实现都是在C/C++中。
干杯!
有没有人对一套常见搜索和排序算法的Java代码实现有很好的参考。在Java中搜索和排序算法的高效实现
皮肤猫有很多种方法(在网上很容易找到各种算法的Java代码),但是有没有Java中最有效的方法列表来实现这些不同的算法?
有例如http://www.algorithmist.com但大多数实现都是在C/C++中。
干杯!
我建议看看Java标准库源代码本身。
Collections和Arrays类具有可以学习的二进制搜索和二进制排序实现。
下面是从OpenJDK的为Collections.java来源:http://www.docjar.com/html/api/java/util/Collections.java.html
我发现Sedgewick的书“Java中的算法(第1-4部分)”很有用。代码是available online,但没有这本书可能很难理解。
有些地图,集合,列表等标准算法可用。你必须在 download the src.zip from the Oracle-Java homepage的地方提供。
对于常见的使用情况,算法应该非常高效,但是当然,对于每种算法,数据都存在最坏情况。因此,在特殊情况下,您将能够找到或生产出更好的产品。
是的我明白,核心是一样的,但有些impls有更大的开销,使用额外的变量,其中一个不是必需的(说保留柜台等)。 – NightWolf 2012-04-15 05:58:14
两点:1,如果你明白,那你为什么在意?只要您开始使用足够大的数据集,impl收益就会被淹没。我明确列出了grepcode,因为你问了。 – 2012-04-15 06:20:58