Voglio implementare quanto segue in C++:Algoritmo automatico corretto
1) Verificare se la parola data esiste in un dizionario. Il file del dizionario è un file enorme; considera 100 MB o 3-4 milioni di parole.
2) Suggerisci correzioni per la parola errata.
3) Funzione di completamento automatico.
mio approccio
1) Ho intenzione di costruire un albero in modo da cercare volontà efficiente.
2) Non riesco a capire come implementare la funzione di correzione automatica.
3) Posso implementare automatico caratteristica completo utilizzando alberi
Qual è la migliore struttura dei dati e l'algoritmo per implementare tutte le caratteristiche di cui sopra?
Sembra un trie http://en.wikipedia.org/wiki/Trie –
Ecco la soluzione completa per la domanda di cui sopra https://github.com/msankith/Trie/tree/1.1 – Ankith
Mentre funziona in modo efficiente, ho trovato questa soluzione piuttosto inefficiente. I tentativi non sono efficienti in termini di memoria. Anche questo può solo correggere le ortografie per fino a un alfabeto scritto in modo errato. – Pawan