python UnionFind - Python3
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了python UnionFind - Python3相关的知识,希望对你有一定的参考价值。
class UnionFind:
def __init__(self, n):
self.table = [-1] * n
def _root(self, x):
if self.table[x] < 0:
return x
else:
self.table[x] = self._root(self.table[x])
return self.table[x]
def find(self, x, y):
return self._root(x) == self._root(y)
def union(self, x, y):
r1 = self._root(x)
r2 = self._root(y)
if r1 == r2:
return
d1 = self.table[r1]
d2 = self.table[r2]
if d1 <= d2:
self.table[r2] = r1
if d1 == d2:
self.table[r1] -= 1
else:
self.table[r1] = r2
以上是关于python UnionFind - Python3的主要内容,如果未能解决你的问题,请参考以下文章
并查集(UnionFind)
并查集(UnionFind)
java——并查集 UnionFind
并查集(UnionFind)
数据结构 ---[实现并查集(UnionFind)]
python3.3不自带的模块或工具包 下载以后要怎么处理才能在开发环境中调用 (比如放到pyth