Tworzenie słownika z drzewa binarnego wyszukiwania i mieszania

głosy
1

Mam zamiar stworzyć „inteligentną” słownika, które mogłyby generować podobne słowa, jeśli słowo od użytkownika nie ma w słowniku.

Słownik rozpoczyna się czyta plik ze słowami, słowo powinno być dodane do binarnego drzewa i tabeli mieszania. W tabeli hash jest używany do określenia, czy słowo lub podobne słowo jest w słowniku, tabela hash będzie mieć logiczny efekt, dzięki czemu możemy szybko zajrzeć jeśli wyszukiwanie binarne drzewo zawiera słowo. Hash Tabela musi być około dziesięć razy długość naszego słownika, bo my także podobne słowa do tabeli hash. Jako stosunkowo nowy w Javie, chciałbym porad i wskazówek dotyczących sposobu dokonania funkcji skrótu, który byłby idealny dla mojej sytuacji.

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);
}
Utwórz 28/09/2010 o 16:44
źródło użytkownik
W innych językach...                            


2 odpowiedzi

głosy
0

Google dla 'Metaphone java' i "soundex Java.

Można spróbować użyć wyniki Metaphone kodowania jako klucz skrótu, na przykład.

Odpowiedział 28/09/2010 o 17:24
źródło użytkownik

głosy
0

I sugerują, że należy użyć Trie lub Patricia-trie .I nie wiem co masz na myśli przez podobny words.But Zgaduję, że jest coś takiego jak google suggest.I nie napisałem mały program, poprzednio który robi autouzupełniania. ma zależność z Patricią-trie tak będą musiały zawierać it.You można go używać jako odniesienie.

Odpowiedział 29/09/2010 o 06:18
źródło użytkownik

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