SciPy - DisjointSet() 方法

SciPy DisjointSet() 方法用于将数据分区集管理为不相交的子集。它用于管理层次聚类算法中的聚类。

语法

以下是 SciPy DisjointSet() 方法的语法 −

DisjointSet([item_1, item_2, ...])

参数

此方法接受列表作为参数。

返回值

此方法不返回任何值。

示例

以下是展示 SciPy DisjointSet() 方法用法的示例。

from scipy.cluster.hierarchy import DisjointSet

# 创建一个包含 5 个元素的不相交集数据结构
ds = DisjointSet([1, 2, 3, 'a', 'b'])

# 联合操作
ds.merge(1, 2)
ds.merge(3, 'a')
ds.merge('a', 'b')

# 查找根元素
print(ds[2])
print(ds['b'])

# 测试连通性
print(ds.connected(1, 2))
print(ds.connected(1, 'b'))

# 列出不相交集中的元素
print(list(ds))

# 获取包含 'a' 的子集
print(ds.subset('a'))

# 获取包含的子集的大小'a'
print(ds.subset_size('a'))

# 获取不相交集合中的所有子集
print(ds.subsets())

输出

上述代码产生以下输出 −

1
3
True
False
[1, 2, 3, 'a', 'b']
{'a', 3, 'b'}
3
[{1, 2}, {'a', 3, 'b'}]

scipy_reference.html