partitions with union-find operations partition is collection of disjoint sets we define the methods of the partition adt using position objects (section )each of which stores an element the parition adt supports the following methods makeset( )create singleton set containing the element and return the position storing in this set union(ab)return the set bdestroying the old and find( )return the set containing the element in position simple implementation of partition with total of elements is with collection of sequencesone for each setwhere the sequence for set stores set positions as its elements each position object stores variableelementwhich references its associated element and allows the execution of the element(method in ( time in additionwe also store variablesetin each positionwhich references the sequence storing psince this sequence is representing the set containing ' element (see figure thuswe can perform operation find(pin ( timeby following the set reference for likewisemakeset also takes ( time operation union( ,brequires that we join two sequences into one and update the set references of the positions in one of the two we choose to implement this operation by removing all the positions from the sequence with smaller sizeand inserting them in the sequence with larger size each time we take position from the smaller set and insert it into the larger set twe update the set reference for to now point to hencethe operation union( ,btakes time (min(| |,| |))which is ( )becausein the worst case| |bn/ neverthelessas shown belowan amortized analysis shows this implementation to be much better than appears from this worst-case analysis figure sequence-based implementation of partition consisting of three setsa , , , , , and , , , ,