本文整理汇总了Python中UnionFind.UnionFind.makeset方法的典型用法代码示例。如果您正苦于以下问题:Python UnionFind.makeset方法的具体用法?Python UnionFind.makeset怎么用?Python UnionFind.makeset使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类UnionFind.UnionFind
的用法示例。
在下文中一共展示了UnionFind.makeset方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。
示例1: kruskal
# 需要导入模块: from UnionFind import UnionFind [as 别名]
# 或者: from UnionFind.UnionFind import makeset [as 别名]
def kruskal(self):
Weight = {}
Trees = []
UnionSet = UnionFind()
UnionSet.makeset(self.V())
for v in self.V():
edge = self.Adj(v)
for u in edge:
uv = u + v
Weight[uv] = self.Weight(u,v)
#edges = [(self.Weight(u,v),u,v) for v in self.V() for u in self.Adj(v)].sort()
edges = [(self.Weight(u,v),v,u) for v in self.V() for u in self.Adj(v)]
edges.sort()
for w,u,v in edges:
if UnionSet.find(u) != UnionSet.find(v):
Trees.append(u+v)
UnionSet.union(u,v)
return Trees