Union-Find Disjoint Set (UFDS)
UFDS is a straightforward but powerful data structure often used to determine when data is in the same set as one another
Runtime analysis
Type
Find(p)
Union(p, q)
Implementation
Key variables
parent = list(range(n + 1))
rank = [0] * (n + 1)Find with path compression
def find(p):
if p == parent[p]:
return p
parent[p] = find(parent[p])
return parent[p]Union by rank
Last updated