L'MFSet (Merge-Find Set), altrimenti conosciuto come struttura datiunion-find, è unastruttura dati derivante dal concetto dipartizione, per cui dato un insieme finito di elementi a volte risulta utile partizionarli in insiemi disgiunti. L'algoritmo di Merge-Find è quindi utile per le due operazioni possibili su questa struttura dati:
Ricerca
: determina in quale insieme si trova un particolare elemento, o se due elementi appartengono allo stesso insiemeUnione
: combina o fonde due insiemi in un unico insiemeL'altra operazione su MFSet èCrea
, tramite la quale è possibile dato un insieme crearne la partizione formata solo da singoletti. Con l'utilizzo di questi tre operatori è possibile risolvere molti problemi pratici.
è quindi una famiglia di = || componenti,..., ciascuno dei quali contiene un solo elemento di tale che=.
se appartiene ad una componente di allora è l'identificatore della componente cui appartiene.
se TROVA( è diverso da quindi ed appartengono a componenti distinte di allora è formato da tutte le componenti di che non contengono o, e da una nuova componente data dall'unione delle due componenti contenenti ed.