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

Algorithmes et structures de données Discussion :

recherche mot bidimensionnel


Sujet :

Algorithmes et structures de données

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Inscrit en
    Septembre 2008
    Messages
    14
    Détails du profil
    Informations forums :
    Inscription : Septembre 2008
    Messages : 14
    Par défaut recherche mot bidimensionnel
    Bonjour,

    Le problème est le suivant, soit une matrice M:

    a b c a a b
    a c c a a b
    a a b b a c
    a d c d a b

    Le problème est de trouver l'occurrence d'un mot w dans cette matrice. Le problème revient donc à chercher un mot w dans un texte t, t prenant successivement la valeur des lignes et des colonnes.

    Mon idée est donc d'implémenter un algo quelconque, par exemple Knuth-Morris-Pratt en envoyant chaque ligne puis chaque colonne, la difficulté étant de garder les indices bidimensionnels (je pense que le but de l'exercice est cela uniquement). Maintenant, y aurait-il une autre méthode plus intelligente qu'un parcours lignes/colonnes?

    Merci pour vos idées

  2. #2
    Inactif  
    Avatar de Mac LAK
    Profil pro
    Inscrit en
    Octobre 2004
    Messages
    3 893
    Détails du profil
    Informations personnelles :
    Âge : 51
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Octobre 2004
    Messages : 3 893
    Par défaut
    Cela dépend : tes mots peuvent-ils être en diagonale ? Ou écrits suivant n'importe quel parcours (= pas forcément "en ligne") ? A l'endroit et à l'envers ?
    Mac LAK.
    ___________________________________________________
    Ne prenez pas la vie trop au sérieux, de toutes façons, vous n'en sortirez pas vivant.

    Sources et composants Delphi sur mon site, L'antre du Lak.
    Pas de question technique par MP : posez-la dans un nouveau sujet, sur le forum adéquat.

    Rejoignez-nous sur : Serveur de fichiers [NAS] Le Tableau de bord projets Le groupe de travail ICMO

  3. #3
    Membre averti
    Inscrit en
    Septembre 2008
    Messages
    14
    Détails du profil
    Informations forums :
    Inscription : Septembre 2008
    Messages : 14
    Par défaut
    Bonjour,

    Je comptais me limiter à une lecture:

    ligne: gauche droite
    colonne: haut bas
    diagonale: haut-gauche puis bas-droite

    Si j'ai le temps, peut-être rechercher les inverses.

  4. #4
    Inactif  
    Avatar de Mac LAK
    Profil pro
    Inscrit en
    Octobre 2004
    Messages
    3 893
    Détails du profil
    Informations personnelles :
    Âge : 51
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Octobre 2004
    Messages : 3 893
    Par défaut
    Citation Envoyé par kitano902 Voir le message
    Si j'ai le temps, peut-être rechercher les inverses.
    Pour les inverses, il suffit d'inverser le vecteur extrait et d'appliquer le même algorithme. Cependant, il serait sûrement beaucoup plus efficace de repenser l'algo de base afin de lui permettre de chercher dans n'importe quel sens... Enfin, si tu dois faire un algo de complexité la plus faible possible, du moins.

    Sinon, dans le cadre d'une recherche simple, dans un seul sens, tu peux effectivement te contenter d'une extraction de lignes / colonnes / diagonales vers un vecteur, et chercher dans ce vecteur.

    Au niveau "finesse", tout dépend si tu dois écrire uniquement un algorithme, ou l'implémenter "peu importe la manière".

    Au niveau algo, une méthode comme KMP est adéquate, à toi d'écrire le pseudocode correspondant aux extractions de lignes / colonnes / diagonales, et le pseudocode de recherche.
    Au niveau implémentation, il sera sûrement bien plus pratique de transformer le vecteur en chaîne de caractères valide, et d'utiliser une fonction comme strstr (en fonction du langage) pour effectuer cette recherche. L'extraction restera quoi qu'il en soit à ta charge si le langage n'offre pas d'aide à ce niveau.
    Mac LAK.
    ___________________________________________________
    Ne prenez pas la vie trop au sérieux, de toutes façons, vous n'en sortirez pas vivant.

    Sources et composants Delphi sur mon site, L'antre du Lak.
    Pas de question technique par MP : posez-la dans un nouveau sujet, sur le forum adéquat.

    Rejoignez-nous sur : Serveur de fichiers [NAS] Le Tableau de bord projets Le groupe de travail ICMO

  5. #5
    Membre averti
    Inscrit en
    Septembre 2008
    Messages
    14
    Détails du profil
    Informations forums :
    Inscription : Septembre 2008
    Messages : 14
    Par défaut
    ok merci

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 1
    Dernier message: 18/07/2006, 20h09
  2. Recherche Mot Clef sous WORD
    Par tiftay01 dans le forum Word
    Réponses: 2
    Dernier message: 21/06/2006, 08h25
  3. Débutant : Rechercher mot-clé et extraire paragraphe
    Par systembenlaget dans le forum Langage
    Réponses: 1
    Dernier message: 05/05/2006, 16h47
  4. [DEBUTANT]Recherche mot contenu dans une String
    Par lynxman dans le forum Langage
    Réponses: 7
    Dernier message: 16/12/2005, 11h49
  5. [langage] exp reg: recherche mot ou ensemble de mot
    Par eautret dans le forum Langage
    Réponses: 5
    Dernier message: 14/12/2004, 17h25

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