//package DisjointSet; /** * Interfaccia Disjoint Set * L'adt Disjoint Set mantiene una collezione di insiemi disgiunti. Ciascun * insieme è identificato da un rappresentante che è un membro dell'insieme. * Le operazioni fondamentali sono: makeSet(x), findSet(x) e union(x,y). * Copyright: Copyright (c) 2000 * Company: Università degli Studi di Verona * @author Roberto Posenato * @version 1.0 */ public interface DisjointSet { /** * makeSet(x) crea un nuovo insieme singleton contenete l'oggetto x (che ne * diviene il rappresentante). Dato che gli insiemi devono essere disgiunti, * si richiede che x non sia già in un insieme. */ void makeSet(Object x); /** * findSet(x) restituisce un riferimento al rappresentante dell'insieme che * contiene l'oggetto x, se esiste; null altrimenti * */ Object findSet(Object x); /** * union(x,y) esegue l'unione dei due insiemi rappresentati da x e y in un nuovo * insieme che avrà come rappresentante o x o y. */ void union(Object x, Object y); /** * size() restituisce il numero di insiemi che compongono la partizione */ int size(); }