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 :

algorithme de tri de messages


Sujet :

Algorithmes et structures de données

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Juin 2009
    Messages
    116
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2009
    Messages : 116
    Points : 53
    Points
    53
    Par défaut algorithme de tri de messages
    Bonjour à tous,
    Après avoir passer quelques jours face à moi même à essayer de me dépatouiller avec mon problème, je pense qu'il est plus que temps de vous demander de l'aide : à l'aide !!!!! Car c'est vraiment le forum sur lequel j'en trouve le plus, de l'aide !
    Voici le contexte (je travaille avec une bdd mysql et JAVA) : j'ai une liste de message décrits par :
    id_message
    sujet_message
    date_message
    (et aussi d'autres propriétés mais pas très importantes)
    Je dois pouvoir classer les messages dans des conversations, selon le sujet du message, ce qui est normal, mais aussi selon la date. Par exemple, deux messages qui ont le même sujet et qui sont séparés de moins de x jours (où x est donné en paramètre) feront partie de la même conversation. Si le nombre de jours qui les séparent est supérieur à x, ils seront placés dans 2 conversations différentes.
    J'ai pensé à plusieurs choses, mais rien ne me satisfait. La chose la plus évoluée que j'ai pondue, c'est de ranger les messages dans 2 tableaux, comparer chaque ligne du premier tableau avec tous les éléments du second tableau et de faire (pardon pour l'énoncé algorithmique, ça fait longtemps que je n'ai pas pratiqué les conventions !!) :
    si tab1_intitulé_sujet_x == tab2_intitulé_sujet_x
    si tab1_date_sujet_x <= tab2_date_sujet_x + paramètre
    je range dans un tableau à 3 entrées les clés de tab1_sujet_x, tab2_sujet_x, numéro_conversation
    sinon je continue
    sinon je continue
    cela marche très bien mais comment ensuite, si je retombe sur sujet x plus loin dans tab2, je retrouve la conversation que j'ai déjà affectée à sujet_x ?

    J'espère que mon énoncé est compréhensible, sinon n'hésitez pas à me poser des questions pour éclaircissements !!!
    Merci d'avance à vous tous, je suis vraiment en galère et ma tête explose (et je suis assez nul en algo aussi !!!)
    bon courage

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

    Informations forums :
    Inscription : Octobre 2004
    Messages : 3 893
    Points : 4 846
    Points
    4 846
    Par défaut
    Clause "ORDER BY" de ta requête SQL, je pense, non ?
    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 du Club
    Profil pro
    Inscrit en
    Juin 2009
    Messages
    116
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2009
    Messages : 116
    Points : 53
    Points
    53
    Par défaut
    Salut,
    A quel moment tu parles de la clause ORDER BY ?
    Je n'ai pas de problème de tri de requete mais mon problème se situe surtout pour retrouver le numéro de discussion selon le sujet, pendant que je traite chaque ligne de mon (mes) tableau(x)

  4. #4
    Rédacteur
    Avatar de pseudocode
    Homme Profil pro
    Architecte système
    Inscrit en
    Décembre 2006
    Messages
    10 062
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 51
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Architecte système
    Secteur : Industrie

    Informations forums :
    Inscription : Décembre 2006
    Messages : 10 062
    Points : 16 081
    Points
    16 081
    Par défaut
    Citation Envoyé par maccormick Voir le message
    Salut,
    A quel moment tu parles de la clause ORDER BY ?
    Je n'ai pas de problème de tri de requete mais mon problème se situe surtout pour retrouver le numéro de discussion selon le sujet, pendant que je traite chaque ligne de mon (mes) tableau(x)
    ORDER BY [subject],[date]

    ensuite tu parcours les résultats retournés:

    si (resultat.subject != resultatprécedant.subject) alors nouvelleDiscussion
    si (resultat.date > resultatprécedant.date + X) alors nouvelleDiscussion
    sinon memeDiscussion
    ALGORITHME (n.m.): Méthode complexe de résolution d'un problème simple.

  5. #5
    Membre du Club
    Profil pro
    Inscrit en
    Juin 2009
    Messages
    116
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2009
    Messages : 116
    Points : 53
    Points
    53
    Par défaut
    D'accord ! Tu me corriges si je me trompes alors :
    - je trie ma base de données par sujets puis par date donc j'ai forcément :
    sujet0 date0
    sujet0 date1
    sujet0 date2
    etc ...
    - ensuite je parcours les résultats et je range mes messages selon ce que tu dis, càd :
    si (resultat.subject != resultatprécedant.subject) alors nouvelleDiscussion
    si (resultat.date > resultatprécedant.date + X) alors nouvelleDiscussion
    sinon memeDiscussion

    Ca m'a l'air de tenir la route ma foi ! J'essaye ça dès lundi et post si résolu.
    Merci beaucoup.

  6. #6
    Membre du Club
    Profil pro
    Inscrit en
    Juin 2009
    Messages
    116
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2009
    Messages : 116
    Points : 53
    Points
    53
    Par défaut
    Hello,
    Merci à vous Mac Lak et pseudocode : vous m'avez bien orienté sur une clause sql, au lieu d'un algo à la noix super compliqué !!!
    Merci encore et à+

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

Discussions similaires

  1. Complexité de l'algorithme de Tri Fusion
    Par judge06 dans le forum Algorithmes et structures de données
    Réponses: 10
    Dernier message: 26/03/2007, 22h04
  2. A propos des algorithmes de tri..
    Par Kerwando dans le forum C++
    Réponses: 4
    Dernier message: 19/08/2006, 11h43
  3. Probleme avec mon algorithme de tri
    Par kaygee dans le forum Langage
    Réponses: 6
    Dernier message: 09/01/2006, 21h23
  4. Réponses: 16
    Dernier message: 10/11/2005, 22h51
  5. algorithme de tri tableau :afficher que les éléments unique
    Par sofiane61 dans le forum Algorithmes et structures de données
    Réponses: 19
    Dernier message: 31/03/2005, 19h50

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