الگوریتم جستجوی اتحادیه را در پایتون بنویسید.
در اینجا یک پیاده سازی اساسی از الگوریتم Union-Find در پایتون با استفاده از رویکرد weighted-quick-union وجود دارد: ``` کلاس UnionFind: defin __init__(self, n): self.parent = [i for i in range ((n) ] self.size = [1] * n def find ((self, i): root = i در حالی که root != self.parent[root]: root = self.parent[root] # فشرده سازی مسیر در حالی که i != root: i, self.parent[i] = self.parent[i], return def connected ((self, i, j): return self.find ((i) ==found.j)) def union node: i, j): root_i = selffind.i) ````jj = self.size ==found.jjj)) اگر یک از ریشه های اصلی: root