MiharbiDoNo
Messages postés150Date d'inscriptiondimanche 17 mai 2009StatutMembreDernière intervention25 mai 2012
-
29 avril 2012 à 00:35
cs_alpha5
Messages postés74Date d'inscriptionjeudi 10 août 2006StatutMembreDernière intervention24 mars 2013
-
3 mai 2012 à 15:11
Cette discussion concerne un article du site. Pour la consulter dans son contexte d'origine, cliquez sur le lien ci-dessous.
cs_alpha5
Messages postés74Date d'inscriptionjeudi 10 août 2006StatutMembreDernière intervention24 mars 2013 3 mai 2012 à 15:11
bonjour babichette et miharbidono
exact ce programme ne traite pas les erreurs d'orthographe et recherche de façon brute.
cs_barbichette
Messages postés220Date d'inscriptionlundi 30 octobre 2000StatutMembreDernière intervention15 juillet 2013 3 mai 2012 à 12:59
Bonjour,
I - Dans la boucle de traitement, il y a un "Application.DoEvents()" qui ne sert à rien puisque ce traitement est asynchrone (dans un auter Thread).
II - dans une recherche toute simple d'un mot, il y a des algorithmes bien plus rapides que de parcourir toute la liste.
Par exemple, prendre le milieu de la liste est regarder si le mot recherché est avant ou après, et en fonction, refaire la même chose sur la moitier restante...
III - Par contre, en général, la recherche brute dans un dico n'est pas la bonne. Le mieux, c'est des algos de recherche qui donne des valeurs correspondant à une ressemblance plus ou moins grande avec le mot recherché.
Dans ce cas, le mot "maison" est trouvé si l'utilisateur tape "maison", mais s'il tape "méson", il faut lui proposer le mot "maison".
Rechercher "distance entre deux mots" sur le net, pour avoir une idée...
Barbichette
5/10 (bien, mais pas innovant)
MiharbiDoNo
Messages postés150Date d'inscriptiondimanche 17 mai 2009StatutMembreDernière intervention25 mai 2012 29 avril 2012 à 00:35
Bonjour,
Si on parle d'un dictionnaire, je vous conseille surtout de ne pas lire tout le ficher avec ReadAllText("Dictionnaire.txt"), si le fichier est aussi gros, ça va jeter -probablement- une exception.
Il faut mieux utiliser une base de donner pour pouvoir gerer/mettre à jour/rechercher les mots souhaités.
3 mai 2012 à 15:11
exact ce programme ne traite pas les erreurs d'orthographe et recherche de façon brute.
3 mai 2012 à 12:59
I - Dans la boucle de traitement, il y a un "Application.DoEvents()" qui ne sert à rien puisque ce traitement est asynchrone (dans un auter Thread).
II - dans une recherche toute simple d'un mot, il y a des algorithmes bien plus rapides que de parcourir toute la liste.
Par exemple, prendre le milieu de la liste est regarder si le mot recherché est avant ou après, et en fonction, refaire la même chose sur la moitier restante...
III - Par contre, en général, la recherche brute dans un dico n'est pas la bonne. Le mieux, c'est des algos de recherche qui donne des valeurs correspondant à une ressemblance plus ou moins grande avec le mot recherché.
Dans ce cas, le mot "maison" est trouvé si l'utilisateur tape "maison", mais s'il tape "méson", il faut lui proposer le mot "maison".
Rechercher "distance entre deux mots" sur le net, pour avoir une idée...
Barbichette
5/10 (bien, mais pas innovant)
29 avril 2012 à 00:35
Si on parle d'un dictionnaire, je vous conseille surtout de ne pas lire tout le ficher avec ReadAllText("Dictionnaire.txt"), si le fichier est aussi gros, ça va jeter -probablement- une exception.
Il faut mieux utiliser une base de donner pour pouvoir gerer/mettre à jour/rechercher les mots souhaités.