Bonjour,
je suis entrain de faire une appli qui trouve tous les anagrammes d'un mot
et qui verifie dans un fichier texte (très gros), un après l'autre, si le mot
y figure. Le problème est que le nombre de combinaisons possibles avec un mot
de 8 lettres, par exemple, est d'environ 20000 mots. J'ai d'abord essaié en
recuperant le fichier dans un tableau de string, puis le parcourir avec
chaque anagramme. Le temps de traitement est trop long. Ensuite, j'ai
récupéré le fichier dans un string, et utilisé la methode IndexOf, mais c'est
egalement trop long. Quelqu'un aurait-t-il une idée afin de diminuer le temps
de traitement? Peut etre trouver les mots dans le fichier lorsque celui ci
est parcouru... Merci d'avance pour vos reponses.
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
Fred
"Jag" a écrit dans le message de news:
Bonjour, je suis entrain de faire une appli qui trouve tous les anagrammes d'un mot et qui verifie dans un fichier texte (très gros), un après l'autre, si le mot y figure. Le problème est que le nombre de combinaisons possibles avec un mot de 8 lettres, par exemple, est d'environ 20000 mots. J'ai d'abord essaié en recuperant le fichier dans un tableau de string, puis le parcourir avec chaque anagramme. Le temps de traitement est trop long. Ensuite, j'ai récupéré le fichier dans un string, et utilisé la methode IndexOf, mais c'est egalement trop long. Quelqu'un aurait-t-il une idée afin de diminuer le temps de traitement? Peut etre trouver les mots dans le fichier lorsque celui ci est parcouru... Merci d'avance pour vos reponses.
Bonsoir, Le fichier : c'est un dictionnaire des mots valides ? Si oui, il suffit de faire une passe dans le fichier et de vérifier si chacun des mots est un anagramme ou non des 8 lettres de départ. Non ?
"Jag" <Jag@discussions.microsoft.com> a écrit dans le message de news:
17B4B8CB-556A-4C87-A4BF-5FFFFCF84F04@microsoft.com...
Bonjour,
je suis entrain de faire une appli qui trouve tous les anagrammes d'un mot
et qui verifie dans un fichier texte (très gros), un après l'autre, si le
mot
y figure. Le problème est que le nombre de combinaisons possibles avec un
mot
de 8 lettres, par exemple, est d'environ 20000 mots. J'ai d'abord essaié
en
recuperant le fichier dans un tableau de string, puis le parcourir avec
chaque anagramme. Le temps de traitement est trop long. Ensuite, j'ai
récupéré le fichier dans un string, et utilisé la methode IndexOf, mais
c'est
egalement trop long. Quelqu'un aurait-t-il une idée afin de diminuer le
temps
de traitement? Peut etre trouver les mots dans le fichier lorsque celui ci
est parcouru... Merci d'avance pour vos reponses.
Bonsoir,
Le fichier : c'est un dictionnaire des mots valides ?
Si oui, il suffit de faire une passe dans le fichier et de vérifier si
chacun des mots est un anagramme ou non des 8 lettres de départ. Non ?
Bonjour, je suis entrain de faire une appli qui trouve tous les anagrammes d'un mot et qui verifie dans un fichier texte (très gros), un après l'autre, si le mot y figure. Le problème est que le nombre de combinaisons possibles avec un mot de 8 lettres, par exemple, est d'environ 20000 mots. J'ai d'abord essaié en recuperant le fichier dans un tableau de string, puis le parcourir avec chaque anagramme. Le temps de traitement est trop long. Ensuite, j'ai récupéré le fichier dans un string, et utilisé la methode IndexOf, mais c'est egalement trop long. Quelqu'un aurait-t-il une idée afin de diminuer le temps de traitement? Peut etre trouver les mots dans le fichier lorsque celui ci est parcouru... Merci d'avance pour vos reponses.
Bonsoir, Le fichier : c'est un dictionnaire des mots valides ? Si oui, il suffit de faire une passe dans le fichier et de vérifier si chacun des mots est un anagramme ou non des 8 lettres de départ. Non ?
Sylvain Lafontaine
Vous devez convertir votre mot cible et tous les mots de votre fichier texte en anagramme absolu; c'est-à-dire en l'anagramme correspondant aux lettre triées par ordre alphabétique; ce qui réduit le nombre de combinaisons totales par mot à 1; peut importe son nombre de lettre.
La suite du résultat est évidemment quasi-instantanée.
S. L.
"Jag" wrote in message news:
Bonjour, je suis entrain de faire une appli qui trouve tous les anagrammes d'un mot et qui verifie dans un fichier texte (très gros), un après l'autre, si le mot y figure. Le problème est que le nombre de combinaisons possibles avec un mot de 8 lettres, par exemple, est d'environ 20000 mots. J'ai d'abord essaié en recuperant le fichier dans un tableau de string, puis le parcourir avec chaque anagramme. Le temps de traitement est trop long. Ensuite, j'ai récupéré le fichier dans un string, et utilisé la methode IndexOf, mais c'est egalement trop long. Quelqu'un aurait-t-il une idée afin de diminuer le temps de traitement? Peut etre trouver les mots dans le fichier lorsque celui ci est parcouru... Merci d'avance pour vos reponses.
Vous devez convertir votre mot cible et tous les mots de votre fichier texte
en anagramme absolu; c'est-à-dire en l'anagramme correspondant aux lettre
triées par ordre alphabétique; ce qui réduit le nombre de combinaisons
totales par mot à 1; peut importe son nombre de lettre.
La suite du résultat est évidemment quasi-instantanée.
S. L.
"Jag" <Jag@discussions.microsoft.com> wrote in message
news:17B4B8CB-556A-4C87-A4BF-5FFFFCF84F04@microsoft.com...
Bonjour,
je suis entrain de faire une appli qui trouve tous les anagrammes d'un mot
et qui verifie dans un fichier texte (très gros), un après l'autre, si le
mot
y figure. Le problème est que le nombre de combinaisons possibles avec un
mot
de 8 lettres, par exemple, est d'environ 20000 mots. J'ai d'abord essaié
en
recuperant le fichier dans un tableau de string, puis le parcourir avec
chaque anagramme. Le temps de traitement est trop long. Ensuite, j'ai
récupéré le fichier dans un string, et utilisé la methode IndexOf, mais
c'est
egalement trop long. Quelqu'un aurait-t-il une idée afin de diminuer le
temps
de traitement? Peut etre trouver les mots dans le fichier lorsque celui ci
est parcouru... Merci d'avance pour vos reponses.
Vous devez convertir votre mot cible et tous les mots de votre fichier texte en anagramme absolu; c'est-à-dire en l'anagramme correspondant aux lettre triées par ordre alphabétique; ce qui réduit le nombre de combinaisons totales par mot à 1; peut importe son nombre de lettre.
La suite du résultat est évidemment quasi-instantanée.
S. L.
"Jag" wrote in message news:
Bonjour, je suis entrain de faire une appli qui trouve tous les anagrammes d'un mot et qui verifie dans un fichier texte (très gros), un après l'autre, si le mot y figure. Le problème est que le nombre de combinaisons possibles avec un mot de 8 lettres, par exemple, est d'environ 20000 mots. J'ai d'abord essaié en recuperant le fichier dans un tableau de string, puis le parcourir avec chaque anagramme. Le temps de traitement est trop long. Ensuite, j'ai récupéré le fichier dans un string, et utilisé la methode IndexOf, mais c'est egalement trop long. Quelqu'un aurait-t-il une idée afin de diminuer le temps de traitement? Peut etre trouver les mots dans le fichier lorsque celui ci est parcouru... Merci d'avance pour vos reponses.
Vincent Lascaux
> La suite du résultat est évidemment quasi-instantanée.
Encore plus instantanée si le dictionnaire est formatté de façon appropriée : par exemple comme un automate dans le fichier, ce qui permet de faire une recherche en O(n) où n est le nombre de lettres du mot à chercher dans le dico, indépendamment de la taille du dico, et sans nécessairement charger l'intégralité du dico en mémoire.
-- Vincent
> La suite du résultat est évidemment quasi-instantanée.
Encore plus instantanée si le dictionnaire est formatté de façon appropriée
: par exemple comme un automate dans le fichier, ce qui permet de faire une
recherche en O(n) où n est le nombre de lettres du mot à chercher dans le
dico, indépendamment de la taille du dico, et sans nécessairement charger
l'intégralité du dico en mémoire.
> La suite du résultat est évidemment quasi-instantanée.
Encore plus instantanée si le dictionnaire est formatté de façon appropriée : par exemple comme un automate dans le fichier, ce qui permet de faire une recherche en O(n) où n est le nombre de lettres du mot à chercher dans le dico, indépendamment de la taille du dico, et sans nécessairement charger l'intégralité du dico en mémoire.