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
    Membre expert
    Avatar de anapurna
    Homme Profil pro
    Développeur informatique
    Inscrit en
    mai 2002
    Messages
    2 423
    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 : 2 423
    Points : 3 805
    Points
    3 805

    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
    1 352
    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 : 1 352
    Points : 2 876
    Points
    2 876

    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 Kylix
    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