Python中的UnionFind实现 联合查找是一种数据结构,可保持不相交的集合(称为连接的组件或简称为组件)成员身份,并使合并(联合)两个组件以及查找两个元素是否已连接(即属于同一组件)更加容易。 )。 这实现了“加权快速工会与路径压缩”联合查找算法。 仅当元素是不可变的对象时才有效。 联合和查找(N + M \ log ^ * N)的最坏情况,具有N个元素和M个联合/查找操作。 函数\ log ^ *是获取一个数字的\ log (以2为底)直到达到1所需的次数。实际上,每个操作的摊销成本几乎是线性的 。 内容 模块unionfind与类UnionFind 示例笔记本UnionFindExamples.ipynb 许可证:麻省理工学院。 要求 numpy
1
unionfind unionfind是 Python/Cython 中不相交集森林数据结构的简单、快速实现。 该模块定义了一个类UnionFind ,其元素是连续的整数索引。 用法 使用pip安装(需要构建 cython)。 通过编写unionfind.UnionFind(n) import unionfind并在n 个元素上创建森林。 使用find(i)方法find(i)索引为i的点的根。 使用union(i, j)方法union(i, j)包含i和j的集合,为方便起见,该方法还返回结果集的根。 使用n_sets属性查看森林中有多少不相交的集合。 完整文档中更详细地描述了上述内容。 要构建文档,首先使用pip安装模块, cd到doc目录,然后make html 。
2022-12-29 12:18:00 9KB Python
1
UnionFind
2021-11-29 09:02:58 3.06MB
UnionFind-2x2
2021-11-29 09:02:57 2MB
三维点云并查集代码,经过简单修改可以应用到二维图像中,其中可以设置连通域阈值。里面包含quick-find、压缩路径quick-union两种算法代码。 https://blog.csdn.net/OEMT_301/article/details/103444395
2021-05-18 01:25:57 783KB UnionFind
1