Disjoint set / union find algorithm
Project description
Disjoint Union
Implementation of the union find algorithm. This library will work with any hashable objects.
Installation
PyPI
python3 -m pip install disjoint_union
Usage
DisjointUnion
is a subclass of list
and can be instantiated by passing it an iterable. You can use the pipe methods |
& |=
as well as the union(x, y)
and unions(*iterable)
methods.
In [1]: from disjoint_union import DisjointUnion
In [2]: s = DisjointUnion(range(3))
In [3]: s
Out[3]: [{0, 1, 2}]
In [5]: s.unions(range(6, 10))
Out[5]: [{0, 1, 2}, {6, 7, 8, 9}]
In [6]: s.union(2, 5)
Out[6]: [{0, 1, 2, 5}, {6, 7, 8, 9}]
In [7]: s.union(5, 6)
Out[7]: [{0, 1, 2, 5, 6, 7, 8, 9}]
In [8]: s | range(10, 15)
Out[8]: [{0, 1, 2, 5, 6, 7, 8, 9}, {10, 11, 12, 13, 14}]
In [9]: s | (9, 10, 15)
Out[9]: [{0, 1, 2, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15}]
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
disjoint_union-0.4.0.tar.gz
(3.0 kB
view hashes)
Built Distribution
Close
Hashes for disjoint_union-0.4.0-py2.py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | c380b3f13ec554f3ed6a045de722a01db5b94d2910aa0db5dd9e3ec023da6ca0 |
|
MD5 | 9339b3ef1d32503bbf6970d19f127b80 |
|
BLAKE2b-256 | a712fdbe93cac3d060b04295e0c7baa71757789fb69a7580d99be5d70acefab4 |