2012-04-15 3 views
3

Hat jemand eine gute Referenz für eine Reihe von Java-Code-Implementierungen gängiger Such- und Sortieralgorithmen?Effiziente Implementierungen von Such- und Sortieralgorithmen in Java

Es gibt viele Möglichkeiten, eine Katze zu häuten (es ist einfach, Java-Code von verschiedenen Algos im Netz zu finden), aber gibt es eine Liste der effizientesten Möglichkeiten in Java, diese verschiedenen Algorithmen zu implementieren?

Es gibt zum Beispiel die http://www.algorithmist.com aber die meisten Implementierungen sind in C/C++.

Prost!

Antwort

1

Ich fand das Buch "Algorithmen in Java (Teile 1-4)" von Sedgewick nützlich. Der Code ist available online, aber ohne das Buch könnte es schwer zu verstehen sein.

0

Die Laufzeit Komplexität eines Algorithmus ist gleichgültig gegenüber der Programmiersprache, in der es implementiert ist - so sollten Sie nicht wirklich kümmern zu viel. Aber da Sie fragen, würde ich in Betracht ziehen, grepcode zu verwenden. Zum Beispiel, schau was ich found wenn ich "Java Quicksort" durchsucht.

+0

Ja, ich verstehe, der Kern ist der gleiche, aber einige Impls haben höhere Gemeinkosten, verwenden Sie zusätzliche vars, wo man nicht erforderlich ist (sagen, Zähler usw. zu halten). – NightWolf

+0

Zwei Punkte: 1, wenn Sie verstehen, warum kümmert es Sie dann? Die Impl-Gewinne werden übertönt, sobald Sie anfangen, genügend große Datensätze zu verwenden. 2. Ich habe Grepcode explizit aufgelistet, weil du gefragt hast. –

1

Einige Standardalgorithmen für Maps, Sets, Listen usw. sind verfügbar. Sie müssen download the src.zip from the Oracle-Java homepage, wo es verfügbar ist.

Für allgemeine Anwendungsfälle sollten die Algorithmen ziemlich effizient sein, aber natürlich muss für jeden Algorithmus ein Worst-Case-Szenario für die Daten bereitgestellt werden. In Ausnahmefällen können Sie bessere finden oder produzieren.

Verwandte Themen