Creazione di dizionario con albero binario di ricerca e di hashing

voti
1

Sto per creare un dizionario intelligente in grado di generare parole simili se la parola che l'utente non è presente nel dizionario.

Il dizionario inizia con la lettura di un file con le parole, la parola deve essere aggiunto l'albero binario e una tabella di hash. La tabella di hash viene utilizzato per determinare se la parola o la parola simile è presente nel dizionario, la tabella hash avrà un effetto booleano in modo che possiamo cercare velocemente se l'albero binario di ricerca contiene la parola. La tabella hash deve essere circa dieci volte la lunghezza del nostro dizionario, perché noi includiamo anche parole simili alla tabella hash. Per quanto relativamente nuovo per Java, vorrei consigli e suggerimenti su come fare una funzione di hash che sarebbe l'ideale per la mia situazione.

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);
}
È pubblicato 28/09/2010 alle 16:44
fonte dall'utente
In altre lingue...                            


2 risposte

voti
0

Google per 'java metaphone' e 'java soundex'.

Si potrebbe provare a utilizzare i risultati di un Metaphone codifica il tasto cancelletto, per esempio.

Risposto il 28/09/2010 a 17:24
fonte dall'utente

voti
0

Suggerisco che si dovrebbe usare una Trie o trie patricia .Io non sai cosa si intende per words.But simile Sto indovinando che è qualcosa di simile a Google suggest.I hanno scritto un piccolo programma in precedenza che fa auto-complete. esso ha una dipendenza con trie patricia così dovrà includere it.You può usare come riferimento.

Risposto il 29/09/2010 a 06:18
fonte dall'utente

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