Erstellen Wörterbuch mit binärer Suchbaum und Hashing

stimmen
1

Ich bin über ein „intelligentes“ Wörterbuch zu erstellen, die von dem Benutzer ähnliche Worte, wenn das Wort nicht im Wörterbuch enthalten ist, erzeugen könnten.

Das Wörterbuch beginnt mit einer Datei mit Worten zu lesen, soll das Wort auf den binären Baum und eine Hash-Tabelle hinzugefügt werden. Die Hash-Tabelle wird verwendet, um festzustellen, ob das Wort oder ein ähnliches Wort im Wörterbuch ist, wird die Hash-Tabelle einen Booleschen Effekt so können wir schnell sehen, ob der binäre Suchbaum das Wort enthält. Die Hash-Tabelle hat etwa zehn Mal der Länge unseres Wörterbuch sein, weil wir auch ähnliche Worte an die Hash-Tabelle enthalten. Als relativ neu in Java, würde ich Tipps und Anregungen für mag, wie eine Hash-Funktion zu machen, die für meine Situation wären ideal.

public String [] similarOne(String word) {

    char [] word_array = word.toCharArray();
    char [] tmp;

    String [] words = new String[word_array.length-1];

    for(int i = 0; i < word_array.length - 1; i++) {
        tmp = word_array.clone();
        words[i] = swap(i, i+1, tmp);
    }
    return words;
}

public String swap(int a, int b, char [] word) {
    char tmp = word[a];
    word[a] = word[b];
    word[b] = tmp;

    return new String(word);
}
Veröffentlicht am 28/09/2010 um 16:44
quelle vom benutzer
In anderen Sprachen...                            


2 antworten

stimmen
0

Google für 'java Metaphone' und 'java soundex'.

Sie könnten versuchen , die Ergebnisse einer mit Metaphone Codierung als Hash - Schlüssel, zum Beispiel.

Beantwortet am 28/09/2010 um 17:24
quelle vom benutzer

stimmen
0

Ich schlage vor , dass Sie eine verwenden sollten Trie oder patricia-trie .Ich weiß nicht , was Sie von ähnlichen words.But bedeuten Ich vermute , es ist etwas wie Google suggest.I haben , ist ein kleines schrieb Programm vorher die automatische Vervollständigung der Fall ist. es hat eine Abhängigkeit mit patricia-trie so umfassen müssen it.You sie als Referenz verwenden können.

Beantwortet am 29/09/2010 um 06:18
quelle vom benutzer

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more