A Data Structure representing a Set that can perform set operations. Created to solve the Dynamic Connectivity Problem. Often used in Kruskals Algorithm
Operations
make-set(x): create a set that containsxfind-set(x): return the set that containsxunion(S1, S2): merge setsS1andS2union(x1, x2): merge sets that containsx1andx2is-connected(x1,x2): check ifx1andx2are in the same set