Add path compression in Weighted QuickUnion

Path compression facilitates Union_find complexity
to be linear in practice [Hopcoff-Ulman, Tarjan].
In theory complexion is (N + Mlg*(N))