Comparaison de 2 objets

Comparaison de 2 objets - Algo - Programmation

Marsh Posté le 22-08-2006 à 15:39:40    

Bonjour,
 
d'ici peu, je vais devoir implémenter une comparaison entre 2 objets complexes. En sortie, l'algo doit me donner les attributs que le 2ième objet à en plus, en moins et de différents que ceux du premier objets.
Je ne suis pas très familier des algo de comparaisons et il m'en faut un assez rapide du fait que mes objets sont assez gros.
 
Pour info, les objets en question sont des ordinateurs constitués de composants, chaque composant ayant ses propres attributs.
 
Merci par avance de votre aide.

Reply

Marsh Posté le 22-08-2006 à 15:39:40   

Reply

Marsh Posté le 22-08-2006 à 15:54:43    

je vois pas ce qu on peut faire de plus efficace que de comparer chaque attribut pour un "algo de comparaison" [:spamafote]

Reply

Marsh Posté le 22-08-2006 à 15:56:37    

pareil.[:dawa]
Je comprends pas trop ce que tu veux, là...[:jean-guitou]

Reply

Marsh Posté le 22-08-2006 à 16:05:30    

ma question tourne surtout autour du pb d'attributs en +, en - ou différents des attributs de l'objet de référence.
Est-ce-qu'il n'y a pas des algos de comparaison qui demandent à ce que les données soient structurées d'une certaine manière (un arbre, une hashtable, un simple tableau par exemple) afin d'optimiser le parcours des données et ainsi limiter les opérations de comparaison.

Reply

Marsh Posté le 22-08-2006 à 16:13:51    

Moi je comprends toujours pas, je dois être con...[:dawa]
 
Ce sont des objets de type différents, et tu cherches dans le deuxième des attributs ayant le même nom que des attributs du premier?
 
Ou bien c'est le même type d'objet, avec une liste d'attributs dont tu veux comparer les valeurs entre les 2 objets?

Reply

Marsh Posté le 22-08-2006 à 16:28:48    

skeye a écrit :

Moi je comprends toujours pas, je dois être con...[:dawa]
 
Ce sont des objets de type différents, et tu cherches dans le deuxième des attributs ayant le même nom que des attributs du premier?
 
Ou bien c'est le même type d'objet, avec une liste d'attributs dont tu veux comparer les valeurs entre les 2 objets?


 
non, désolé, c'est moi qui m'exprime mal en ne donnant pas assez de détails.
J'ai 2 calculateurs. Un calculateur est composés d'instances de composants. Chaque composant est composé d'attributs dont le nombre, le nom et la valeur varient. Un composant est typé via des mots-clés, ces mots-clés étant organisés sous la forme d'une arborescence.
ex :  
Carte
  +---graphique
  +---réseau
  |         +---X25
  |         +---Ethernet
  +---son
CPU
HDD
  +---IDE
  +---SCSI
 
Donc une instance de composant du type "carte graphique" va être lié au mot-clé "graphique" (qui a pour père "carte", le lien se fait via un ID). Au moment de la comparaison, je ne veux pas comparer des choux et des carottes. Pas la peine de comparer les attributs d'une carte graphique avec ceux d'une carte réseau. Dans les 2 objets, je vais regarder les attributs de leur composant lié au mot-clé "graphique" et comparer leurs attributs qui auront a priori les mêmes noms d'attributs, mais pas forcemment les mêmes valeurs. Si le 2ième calculateur (celui qu'on compare au premier) n'a pas de carte graphique, on va mettre cette différence dans la liste des composants en moins. Si c'est le premier calculateur qui n'en a pas, on va alor mettre cette différence dans la liste des composants en +. Enfin, si les 2 ont une carte graphique mais que les modèles différent, on va mettre cett différence dans la liste des différences (composant en commun mais avec des valeurs différentes).
 
Est-ce que c'est plus clair? Donc ma question, c'est est-ce-qu'il y a des algos qui optimsent ce genre de recherche parce qu'il sont basés sur une structure de données particulière?...


Message édité par rufo le 22-08-2006 à 16:29:07
Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed