skeye a écrit :
Moi je comprends toujours pas, je dois être con...
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