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 :

fonction de recherche


Sujet :

C++

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Homme Profil pro
    Étudiant
    Inscrit en
    Mars 2014
    Messages
    218
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mars 2014
    Messages : 218
    Par défaut fonction de recherche
    Bonjour,
    Je cherche à faire une fonction de recherche en c++ (avec ou sans Qt) permettant de trouver une suite de caractère ou une suite similaire. Un peu comme fait Google:si on tape un mot proche, il trouve quand même le bon résultat. C'est un peu ça que je veux faire. Avec peut être un did you mean fait maison avec les données de ma base de données. J'avais dans l'idée de faire une fonction qui compare deux chaînes en calculant le pourcentage de ressemblance, et gardant les résultat avec 90% de ressemblance par exemple. Mais je suis sur qu'on peut d'aire mieux. Est ce que vous pouvez me réorienter vers des algorithmes ou des tutos svp? Je n'ai rien trouvé de très parlant mis à part des informations générales, rien de technique.
    Cordialement

  2. #2
    Expert confirmé
    Homme Profil pro
    Analyste/ Programmeur
    Inscrit en
    Juillet 2013
    Messages
    4 770
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Analyste/ Programmeur

    Informations forums :
    Inscription : Juillet 2013
    Messages : 4 770
    Par défaut
    Je te donne une [petite] piste: Distance de Levenshtein

    Regardes les liens en bas, c'est un sujet vaste

  3. #3
    Membre confirmé
    Homme Profil pro
    Étudiant
    Inscrit en
    Mars 2014
    Messages
    218
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mars 2014
    Messages : 218
    Par défaut
    Oui je me doute c'est pour ça que je pose la question ^^.
    Merci je vais y jeter un oeil

  4. #4
    Membre chevronné
    Inscrit en
    Décembre 2010
    Messages
    290
    Détails du profil
    Informations forums :
    Inscription : Décembre 2010
    Messages : 290
    Par défaut
    Une autre façon de voir les choses consiste à écrire une fonction de recherche la plus rapide possible, sans aucune notion de tolérance ou pourcentage de similarité. Par exemple en utilisant un hash des chaînes stockées dans ta base de recherche, ou un algorythme à la Boyer-Moore (si tu n'as pas de prétraitement).
    Une fois que tu as cette fonction la plus rapide possible, alors ça veut dire qu'il est relativement peu couteux de générer toi même les variantes et utiliser ta fonction rapide pour savoir si cette variante existe. Dans certains cas ce sera même plus rapide que de calculer la distance entre ta chaine recherchée et les différents candidats.

    L'avantage, c'est que tu peux alors générer des variantes plus intelligentes qu'une bête distance. Par exemple, tu peux générer les différentes flexions d'un verbe, ou utiliser une table de synonymes pour remplacer un des mots.

    Suivant ton objectif, ça peut être une piste.

  5. #5
    Membre confirmé
    Homme Profil pro
    Étudiant
    Inscrit en
    Mars 2014
    Messages
    218
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mars 2014
    Messages : 218
    Par défaut
    Pour le moment, le principe de la distance me suffit, le but étant que l'utilisateur cherche quelque chose de spécifique et entre un nom approximatif dans le champ de recherche (c'est pour des films). Mais effectivement je me pencherai sur cet algorithme qui fera très certainement partie d'une mise à jour que je ferai quand mon logiciel fera les fonctions principales.

Discussions similaires

  1. Fonction de recherche
    Par lejimi dans le forum Mode d'emploi & aide aux nouveaux
    Réponses: 4
    Dernier message: 15/01/2006, 21h09
  2. Fonction de recherche de ligne...
    Par Zenol dans le forum Langage
    Réponses: 6
    Dernier message: 05/12/2005, 19h26
  3. fonction de recherche et recopie
    Par mavean dans le forum Access
    Réponses: 2
    Dernier message: 20/11/2005, 12h24
  4. Adapter la fonction de recherche de Plone/Zope
    Par StarNab dans le forum Zope
    Réponses: 2
    Dernier message: 07/04/2005, 16h04
  5. [String] Fonction de recherche de caractères numériques
    Par david71 dans le forum Général Java
    Réponses: 10
    Dernier message: 16/02/2005, 12h05

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