Classes d'équivalences (Union find)

Documentation

De la page

Cliquez sur le bouton pour ajouter un élément dans l'ensemble de test.

Dès qu'un élément est créé, il appartient à sa classe, et on peut soit supprimer l'élément soit sa classe.

Dès qu'il y a au moins deux éléments, on peut les unir pour les faire appartenir à la même classe d'équivalence.

De la bibliothèque

La classe UnionFind permet de créer dynamiquement des classes d’équivalences sur un ensemble d’éléments.

Une instance de cette classe maintient un dictionnaire Map des éléments vers leur classe d’équivalence, et un Set de l’ensemble des classes.

La classe d’équivalence d’un élément est un ensemble Set des éléments appartenant à cette classe.

Quand on ajoute un élément (add), un singleton est créé pour le contenir : un singleton est une classe ne contenant qu’un unique élément. On peut aussi ajouter en une fois plusieurs éléments (addAll).

Ensuite, on peut réaliser l’union de deux éléments pour signifier qu’ils doivent appartenir à la même classe. Les deux classes, si elles sont distinctes, sont alors fusionnées en une seule.

On peut accéder à la classe d’un élément donné (find), savoir si un élément est présent (has), obtenir tous les éléments (elements), obtenir tous les singletons (singletons), obtenir toutes les classes (classes), parcourir les éléments avec un objet séparateur de son choix entre chaque classe (elementsSeparatedBy), supprimer un élément (delete) ou une classe (deleteClass).

À l’instanciation, on peut choisir entre deux mode :


Voir aussi :

Graphes en boîte
2020/04/29