博主欠债太多,也在慢慢学习了解。(当事人很后悔,非常后悔大学前二年没有坚持下来)
之前更新过一篇Java版的。
Python版。
parent={i:i for i in range(n)}
rank={i:0 for i in range(n)}
def find(x):
if parent[x]!=x:
parent[x]=find(parent[x])
return parent[x]
def union(x, y):
x, y=find(x), find(y)
if x==y:return False
if rank[x]>rank[y]:
parent[y]=x
else:
parent[x]=y
if rank[x]==rank[y]:
rank[y]+=1
return True