Het creëren van woordenboek met binaire zoekboom en hashing

stemmen
1

Ik sta op het punt om een ​​slimme woordenboek dat gelijkaardige woorden zou kunnen genereren als het woord van de gebruiker niet in het woordenboek te creëren.

Het woordenboek begint met een bestand met woorden te lezen, moet het woord aan het binaire boom en een hash-tabel worden toegevoegd. De hash-tabel wordt gebruikt om te bepalen of het woord of een woord met dezelfde betekenis is in het woordenboek, zal de hash tabel een Booleaanse effect, zodat we kunnen snel kijken of de binaire zoekboom het woord bevat hebben. De hash tabel moet worden ongeveer tien keer de lengte van ons woordenboek, omdat we ook gelijkaardige woorden met de hash tabel bevatten. Als relatief nieuw voor Java, zou ik graag tips en suggesties voor het maken van een hash-functie die ideaal zijn voor mijn situatie zou zijn te maken.

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);
}
De vraag is gesteld op 28/09/2010 om 16:44
bron van user
In andere talen...                            


2 antwoorden

stemmen
0

Google voor 'java metaphone' en 'java soundex'.

Je zou kunnen proberen met behulp van de resultaten van een Metaphone codering als de hekje-toets, bijvoorbeeld.

antwoordde op 28/09/2010 om 17:24
bron van user

stemmen
0

Ik stel voor dat je moet gebruiken Trie of patricia-trie .Ik weet niet wat je bedoelt met vergelijkbare words.But ik gok dat is zoiets als google suggest.I hebben een kleine schreef programma eerder die auto-complete doet. Het heeft een afhankelijkheid patricia-trie zo moeten omvatten it.You kan gebruiken als een referentie.

antwoordde op 29/09/2010 om 06:18
bron van user

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