Disjoint Set Forest (pădure de mulțimi disjuncte)
Algoritmul lui Kruskal
Algoritmul lui Prim
Mulțimi bazate pe reprezentanți
Reprezentanți ierarhici
DSF este nimic altceva decât vector de tați.
Există 2 operații:
find
union
+ 2 euristici:
Union by Rank
Path Compression
Path Compression
=când caut reprezentantul unui element, toate elementele parcurse până la reprezentant devin fii direcți ai reprezentantului
Union by Rank
=Reprezentantul mulțimii de rank mic devine fiul mulțimii de rank mare.
Rank = margine superioară pentru distanța până la cel mai departe fiu
(path compression reduce rank-ul fără posibilitatea de recalculare)
Se începe cu un graf cu n vârfuri dar fără muchii. Dorim să creăm un arbore parțial de cost minim adăugând n-1 muchii.
Se sortează muchiile după pondere.
Se adaugă la arborele parțial de cost minim muchia de cost minim care nu produce cicluri. (Adică nu are voie să aibă ambele capete în același arbore)
Graf complet în care ponderea este distanța euclidiană
Se inițializează arborele parțial de cost minim cu orice vârf.
Creștem arborele cu 1 muchie: dintre muchiile care conectează arborele curent de un nod care nu este încă în arbore, alegem muchia de cost minim.
Repetă 2 până când arborele conține toate vârfurile.
Graf complet în care ponderea este distanța euclidiană