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 :

Comparaison de listes d'objets


Sujet :

Algorithmes et structures de données

  1. #1
    Futur Membre du Club
    Homme Profil pro
    Inscrit en
    Juin 2012
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Juin 2012
    Messages : 4
    Points : 7
    Points
    7
    Par défaut Comparaison de listes d'objets
    Bonjour,

    Pour simplifier ma demande, je cherche un algorithme pour comparer 2 listes d'objets.
    Un objet peut se trouver plusieurs fois dans une liste, c'est surtout ça qui me pose problème.
    Je cherche à rendre un résultat du type comparaison de 2 versions d'une source dans github avec les lignes ajoutées ou supprimées, dans mon cas les lignes seraient les objets.
    L'ordre des objets est donc très important.
    Comment peut on savoir si l'objet trouvé est un ajout ou simplement qu'il a été déplacé (objets insérés) ?
    Je me doute qu'il n'est pas possible d'avoir un système 100% fiable mais j'aimerais trouver quelque chose qui soit vrai dans la majorité des cas.
    Je suppose que la comparaison de source dans github n'est pas parfaite elle aussi mais dans la grande majorité des cas le résultat est correct.

    Très cordialement,

    StuXneT

  2. #2
    Expert confirmé
    Avatar de anapurna
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mai 2002
    Messages
    3 418
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Arts - Culture

    Informations forums :
    Inscription : Mai 2002
    Messages : 3 418
    Points : 5 816
    Points
    5 816
    Par défaut
    salut

    tels quel il n'y a pas de moyen simple
    je pense qu'il te faut ajouter une propriété a ton obj de type entier
    Num

    et a chaque création d'objet tu incrémente un compteur de cette manière tu pourra connaitre à tout moment si il est le premier ou un update du precedent
    Nous souhaitons la vérité et nous trouvons qu'incertitude. [...]
    Nous sommes incapables de ne pas souhaiter la vérité et le bonheur, et sommes incapables ni de certitude ni de bonheur.
    Blaise Pascal
    PS : n'oubliez pas le tag

  3. #3
    Rédacteur/Modérateur

    Homme Profil pro
    Ingénieur qualité méthodes
    Inscrit en
    Décembre 2013
    Messages
    4 053
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur qualité méthodes
    Secteur : Conseil

    Informations forums :
    Inscription : Décembre 2013
    Messages : 4 053
    Points : 9 388
    Points
    9 388
    Par défaut
    Pour moi, même si le contexte est différent, ça correspond exactement à l'algorithme de 'La distance de Levenshtein'. Je crois me souvenir que l'explication sur Wikipédia est très claire.
    Dans la distance de Levenshtein, on compare en principe des chaines ordonnées composées de lettres, ici, on va comparer des listes ordonnées composées d'objets.

    On est bien d'accord : quand tu parles d'objets, un objet A et un objet B sont soit identiques, soit différents ; il n'y a pas de notions d'objets 'ressemblants plus ou moins' ?
    N'oubliez pas le bouton Résolu si vous avez obtenu une réponse à votre question.

  4. #4
    Futur Membre du Club
    Homme Profil pro
    Inscrit en
    Juin 2012
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Juin 2012
    Messages : 4
    Points : 7
    Points
    7
    Par défaut
    Bonjour,

    Je n'aurais pas du parler d'objet, ça porte à confusion.
    On peut imaginer les objets par des clés alphanumériques pour simplifier.
    C'est pour cette raison que je parlais de github dans la comparaison de source, ce n'est que de la comparaison de texte.
    Pour finir j'ai utilisé un assemblage .net nommé DiffPlex dans un 1er temps mais c'est exactement ce que je cherche à faire.
    Je n'ai pas eu le temps de regarder quel est l'algorithme utilisé mais dans mes recherches je suis aussi tombé sur celui de la distance de Levenshtein, je pense qu'il faut en combiner plusieurs.
    C'est un sujet intéressant, si vous avez d'autres informations, n'hésitez pas à poster.

    Très cordialement,

    StuXneT

Discussions similaires

  1. [Débutant] Comparaison de date dans liste d'objets
    Par popysan dans le forum C#
    Réponses: 3
    Dernier message: 12/02/2015, 13h01
  2. Tri d'une liste d'objet CObList
    Par cjacquel dans le forum MFC
    Réponses: 1
    Dernier message: 13/07/2005, 13h50
  3. [MFC] Retourner une liste d'objets
    Par 1cado dans le forum MFC
    Réponses: 10
    Dernier message: 28/07/2003, 12h11
  4. [Kylix] Composant - Liste d'objet
    Par Metal3d dans le forum EDI
    Réponses: 1
    Dernier message: 13/12/2002, 22h17
  5. liste d'objets
    Par Pierrot dans le forum Langage
    Réponses: 2
    Dernier message: 27/09/2002, 09h56

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