#include <DisjointSet.hpp>
Graphe d'héritage de DisjointSet_Base:
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< Node > | vNode |
les noeuds à étudier | |
int | nbClass |
le nombre de cluster en cours | |
vector< Edge > | edge |
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, Node > | table |
map des parents vers les noeuds |
Cette classe implémente la compression de chemin
Définition à la ligne 20 du fichier DisjointSet.hpp.
|
Constructeur de l'algorithme.
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(). |
|
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(). |
|
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(). |
|
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(). |