Je fais un programme simple en Java. Étant donné un ensemble de lettres, il énumérera tous les mots (avec plus de 2 lettres) qui correspondent aux combinaisons de lettres. Par exemple:
Le mot donné est ward. Le résultat devrait être: quartier. cru, daw, guerre, rad
J'ai dans une base de données SQLite une liste énorme o mots anglais sous la forme originale et classée par lettres, ce sélectionnez les options plus rapidement.Quel schéma est-ce que je peux utiliser pour stocker des combinaisons de mots?
Le schéma de base de données ressemble:
dictionnaire: {id, mot, longueur}
anagram: {id, Anagramme, longueur}
anagram_dictionary: {id, word_id, anagram_id}
Avec le même exemple:
Lorsque l'état brut de mot est inséré
Il recherche pour ARW, et les résultats redonnent cru, guerre
Mon problème réside que chaque fois que je fais une recherche, il fait le calcul du combinations des lettres que je donne.
Pour l'exemple, il fait ce calcul:! (! 3 * 1)
4/(! 4 * 1) + 4/= 5
Mon problème est que la longueur des lettres donnée est 16. Je dois donc faire des combinaisons de 16 en 16 + combinaisons de 16 en 15 + ... + combinaisons de 16 en 1
Je dois améliorer la méthode car il faut des âges pour donner un résultat simple, mais je Ne fais pas maintenant comment? Donc, je tente de stocker dans la base de données, mais ne peux pas comprendre comment?
Merci à l'avance
J'ai enregistré en quelque sorte les fréquences, mais je dois encore obtenir toutes les combinaisons possibles des lettres pour correspondre aux fréquences. Comment puis-je améliorer cela? –
Pourquoi avez-vous besoin de toutes les combinaisons pour faire correspondre les fréquences? –