IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

C Discussion :

Rechercher un mot dans un dictionnaire


Sujet :

C

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Novembre 2006
    Messages
    176
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2006
    Messages : 176
    Par défaut Rechercher un mot dans un dictionnaire
    Bonjour, j'aimerais créer un anagrammeur et il y a les méthodes basiques de regarder toutes les possibilités et de comparer à tous les mots du dictionnaire mais c'est bien trop long

    J'ai entendu parlé de tables de hachages et d'arbres mais j'aimerais savoir quelle est la meilleure méthode à ce jour pour vérifier si un mot est présent dans un dictionnaire. Si quelqu'un à des bons sites expliquant cela je suis prenant


    Merci

  2. #2
    Rédacteur/Modérateur
    Avatar de Trap D
    Profil pro
    Inscrit en
    Septembre 2003
    Messages
    4 942
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2003
    Messages : 4 942
    Par défaut
    Perso, j'ai fait ça en travaillant d'abord la base de données des mots dans une structure du style
    • la longueur,
    • une structure décrivant la composition du mot (nombre de 'a', de 'b' ...)
    • le mot en minuscule sans accent
    • le mot en minuscule avec accent. (même, mémé, ...)
    L'indexation à l'époque avait été longue.
    Après avec une simple recherche dans la base de données, on trouve tout de suite les mots.
    "La haine seule fait des choix" - Koan Zen
    "Il ne faut pas être meilleur que les autres, il faut être meilleur que soi." Albert Jacquard
    "Ceux qui savent où ils ont posé leur parapluie ne sont pas alcooliques." - pgibonne.
    Faites du Prolog, ça vous changera les idées !
    Ma page Prolog
    Mes codes sources commentés

    Mon avatar : La Madeleine à la veilleuse de Georges de La Tour

  3. #3
    Membre confirmé
    Profil pro
    Inscrit en
    Novembre 2006
    Messages
    176
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2006
    Messages : 176
    Par défaut
    Ah oui pas con j'avais pas pensé a ça en plus je n'ai pas le problème des accents dans mon dico lol

    Je vais donc essayer mais je pense qu'il doit y avoir des méthodes plus efficaces en terme d'occupation de mémoire.

    Moi j'avais pensé à associer à chaque lettre a b c ... z un nombre premier ; puis je multiplie les lettre d'un mot entre elles et ensuite si le dico est construit de la même manière j'obtient directement les annagrammes du mot en comparant les nombres.

    Mais l'inconvénient c'est que pour un mot de 15 lettres déjà ca commence à faire des très grands nombre lol

  4. #4
    Expert confirmé

    Profil pro
    Inscrit en
    Janvier 2007
    Messages
    10 610
    Détails du profil
    Informations personnelles :
    Âge : 67
    Localisation : France

    Informations forums :
    Inscription : Janvier 2007
    Messages : 10 610
    Billets dans le blog
    2
    Par défaut
    Sans passer par tous les mots, tu passes uniquement par les mots dont la première lettre est une des lettres de ton mot de départ..

    Déjà ça réduit...

    Et ensuite tu réitères en éliminant ceux qui ne contiennent pas les autres lettres...

    Un peu une recherche dychotomique améliorée, quoi...

  5. #5
    Expert éminent
    Avatar de Emmanuel Delahaye
    Profil pro
    Retraité
    Inscrit en
    Décembre 2003
    Messages
    14 512
    Détails du profil
    Informations personnelles :
    Âge : 68
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Retraité

    Informations forums :
    Inscription : Décembre 2003
    Messages : 14 512
    Par défaut
    Citation Envoyé par NeMo_O
    j'aimerais créer un anagrammeur et il y a les méthodes basiques de regarder toutes les possibilités et de comparer à tous les mots du dictionnaire mais c'est bien trop long
    Surtout que ça ne sert à rien. Il suffit d'utiliser la liste des mots du dictionnaire directement. au moins, celle-ci, elle est correcte !

    Par contre, organiser les mots du dictionnaire en un arbre à 26 branches est une façon simple et rapide d'optimiser une recherche.

    Après on peut discuter sur la nature ou la couleur de l'arbre, mais ça dépasse mes compétences. (je connais mes limites...)

Discussions similaires

  1. Rechercher un mot dans un texte
    Par BernardT dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 13/12/2005, 08h55
  2. [Regex]Recherche de mots dans une chaîne
    Par lionel69 dans le forum Collection et Stream
    Réponses: 7
    Dernier message: 17/11/2005, 18h20
  3. rechercher un mot dans un titre
    Par MANU_2 dans le forum Requêtes
    Réponses: 3
    Dernier message: 09/11/2005, 12h02
  4. Recherche de mot dans un CRichEdit
    Par jawad91 dans le forum MFC
    Réponses: 1
    Dernier message: 28/04/2005, 15h36
  5. [TP]Recherche de mots dans un Doc.
    Par Loceka dans le forum Turbo Pascal
    Réponses: 8
    Dernier message: 04/10/2004, 19h04

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo