public DisjointSets(DisjointSets <T> otherDisjointSets) : this(otherDisjointSets?.GetSets() ?? throw new ArgumentNullException(nameof(otherDisjointSets))) { }
public static bool AreMembersOfTheSameSet <T>(this DisjointSets <T> @this, T x, T y) where T : IEquatable <T> { return(@this.FindSet(x).Equals(@this.FindSet(y))); }