So finden gemeinsame Zeichenfolgen zwischen zwei sehr großen Dateien?

Habe ich zwei sehr große Dateien (und keiner von Ihnen würde in den Speicher passt). Jede Datei hat eine Schnur, (der keine Leerzeichen drin und ist entweder 99/100/101 Zeichen lang) in jeder Zeile.

Update: Die Saiten sind nicht in irgendeiner Reihenfolge sortiert.

Update2: ich arbeite mit Java unter Windows.

Nun möchte ich, um herauszufinden, der beste Weg,, um herauszufinden, alle Zeichenfolgen, die auftreten, in beiden Dateien.

Denke ich über die Verwendung von externen merge-sort sortiert beide die Dateien und führen Sie dann den Vergleich, aber ich bin nicht sicher, ob das wäre der beste Weg, es zu tun. Da die Saiten sind meistens ungefähr die gleiche Länge haben, wurde ich immer gefragt, wenn die computing-eine Art hash für jede saite wäre eine gute Idee, da sollten Vergleiche zwischen strings einfacher, aber dann würde das bedeuten, dass ich zum speichern der hashes berechnet, für die Streicher, dem ich begegnet bin, von den Dateien, so weit, so dass Sie später verwendet werden können, wenn Sie den Vergleich mit anderen Saiten. Ich bin nicht in der Lage zu fassen, was genau wäre der beste Weg. Ich bin auf der Suche für Ihre Anregungen.

Wenn Sie eine Lösung vorschlagen, bitte auch Staat, wenn die Lösung funktionieren würde, wenn es mehr als 2 Dateien und Zeichenfolgen, die auftreten, in allen von Ihnen mussten gemeistert werden.

InformationsquelleAutor Skylark | 2009-03-18
Schreibe einen Kommentar