Structura datelor pentru seturi disjuncte

Din ciclopedie

Structura de date pentru seturile disjuncte acceptă setul [math] S = \ [/ math] de seturi dinamice neintersectoare. Fiecare set este identificat de un reprezentant. care este un anumit element al setului. În unele aplicații, nu contează ce element al setului este folosit ca reprezentant; cel mai important lucru este ca atunci cand se intelege reprezentantul setului de doua ori, fara a face schimbari in setul dintre cereri, acelasi element ar reveni.







Structura de date pentru seturi disjuncte necesită suport pentru următoarele operații:

MAKE_SET (x) creează un set nou compus dintr-un element (care, prin urmare, devine reprezentantul său) x. Deoarece seturile sunt disjuncte, este necesar ca x să nu aparțină nici unui alt set.







UNION (x, y) combină seturi dinamice care conțin x și y (însemnate de [math] S_x [/ math] și [math] S_y [/ math]) într-un set nou. Se presupune că înainte de operație, seturile indicate nu s-au intersectat. Reprezentantul setului rezultat este un element arbitrar [math] S_x \ cup S_y [/ math]. Deoarece este necesar ca seturile să nu se intersecteze, operația UNION trebuie să distrugă seturile [math] S_x [/ math] și [math] S_y [/ math].

FIND_SET (x) returnează un indicator către reprezentantul setului în care este conținut elementul x.

[edit] Exemple de structuri de date specifice pentru seturi disjuncte

[edit] Literatura

[edit] Referințe







Articole similare

Trimiteți-le prietenilor: