Disjoint Set / Union Find

Data Structure: What is a disjoint set (union find data structure)? What are the operations it supports and give their runtimes. Implement it