Page principale | Hiérarchie des classes | Liste des classes | Liste des fichiers | Membres de classe | Membres de fichier

Référence de la classe DisjointSet_Base

Classe de base pour les algorithmes utilisant des ensembles disjoints. Plus de détails...

#include <DisjointSet.hpp>

Graphe d'héritage de DisjointSet_Base:

Kruskal MeanShiftFusion MInt Prune Segment Liste de tous les membres

Fonctions membres publiques

 DisjointSet_Base (const Node)
 Constructeur de l'algorithme.

virtual string toString ()
 Retourne une chaîne de caractères détaillée.

Node mergeDisjointSet (Node, Node)
 Fusionne 2 noeuds.

virtual Node makeDisjointSet ()=0
 Accomplis effectivement un algorithme de clusteringe.

bool sameDisjointSet (Node, Node)
 Teste l'appartenance au même cluster de 2 points.

Node makeNode (string)
 Retourne sous forme de graphe un le résultat du clustering.

int getParentSize (Node)
 Retourne la taille du parent d'un noeud.

Node getParent (Node)
 Retourne le cluster d'un noeud.


Fonctions membres protégées

int getParentRank (int)
 retourn le rang d'un parent


Attributs protégés

Node graph
 le graphe à clusteriser

vector< NodevNode
 les noeuds à étudier

int nbClass
 le nombre de cluster en cours

vector< Edgeedge
 les arretes du graphe clusterisés


Types privés

typedef map< int, Node
>::iterator 
table_iter
 Itérateur des parents vers les noeuds.


Attributs privés

vector< int > parent
 tableau d'index des parents d'un cluster

vector< int > size
 tableau des tailles d'un cluster

map< int, Nodetable
 map des parents vers les noeuds


Description détaillée

Classe de base pour les algorithmes utilisant des ensembles disjoints.

Cette classe implémente la compression de chemin

Définition à la ligne 20 du fichier DisjointSet.hpp.


Documentation des contructeurs et destructeur

DisjointSet_Base::DisjointSet_Base const  Node  ) 
 

Constructeur de l'algorithme.

Paramètres:
Node : le noeud à clusteriser

Définition à la ligne 8 du fichier DisjointSet.cpp.

Références DisjointSet_Base(), Node::getLeafSize(), Node::getNodeIterator(), Node::getNodeSize(), graph, Node_Iterator::hasNext(), nbClass, Node_Iterator::next(), parent, Node::setRank(), size, et vNode.

Référencé par DisjointSet_Base().


Documentation des fonctions membres

int DisjointSet_Base::getParentRank int  i  )  [protected]
 

retourn le rang d'un parent

Retourne l'index du parent Réalise la compression de chemin

Définition à la ligne 31 du fichier DisjointSet.cpp.

Références getParentRank(), et parent.

Référencé par getParent(), getParentRank(), getParentSize(), makeNode(), mergeDisjointSet(), et sameDisjointSet().

Node DisjointSet_Base::makeNode string  label  ) 
 

Retourne sous forme de graphe un le résultat du clustering.

Construit un noeud après la fusion

Définition à la ligne 143 du fichier DisjointSet.cpp.

Références Node::addEdge(), Node::addNode(), edge, Edge::getDST(), getParentRank(), Node::getRank(), Edge::getSRC(), Edge::getWeight(), Edge::getX0(), Edge::getX1(), Edge::getY0(), Edge::getY1(), makeNode(), parent, Edge::setCoord(), Node::setPixel(), Node::setWeight(), table, table_iter, et vNode.

Référencé par makeNode().

Node DisjointSet_Base::mergeDisjointSet Node  n1,
Node  n2
 

Fusionne 2 noeuds.

Fusion de 2 ensembles disjoint Réalise l'union par rang

Définition à la ligne 43 du fichier DisjointSet.cpp.

Références Node::addNode(), getParentRank(), Node::getRank(), Node::merge(), mergeDisjointSet(), nbClass, parent, size, table, et table_iter.

Référencé par mergeDisjointSet().


La documentation de cette classe a été générée à partir des fichiers suivants:
Généré le Sun Jun 27 15:59:33 2004 pour segment par doxygen 1.3.7