parent = list(range(5))
def find(x):
if parent[x]!=x:
parent[x]=find(parent[x])
return parent[x]
def union(x,y):
parent[find(x)]=find(y)
for a,b in [[0,1],[1,2],[3,4]]:
union(a,b)
for a,b in [[0,2],[2,4]]:
print(f'{a}, {b} 同組?{find(a)==find(b)}')
gs = {}
for i in range(5):
r = find(i)
if r not in gs:
gs[r]=[]
gs[r].append(i)
for g in gs.values():
print(g)
Output:
0, 2 同組?True
2, 4 同組?False
[0, 1, 2]
[3, 4]
沒有留言:
張貼留言