Disjoint set data structure implementation for Python
Project description
disjoint-set
DisjointSet (a.k.a. union–find data structure or merge–find set) implementation for Python.
Prerequisites
The only requirement is having Python 3 installed, you can verify this by running:
$ python --version
Python 3.7.2
Installation
pip install disjoint-set
You can verify you're running the latest package version by running:
>>> import disjoint_set
>>> disjoint_set.__version__
'0.7.3'
Usage
>>> from disjoint_set import DisjointSet
>>> ds = DisjointSet()
>>> ds.find(1)
1
>>> ds.union(1,2)
>>> ds.find(1)
2
>>> ds.find(2)
2
>>> ds.connected(1,2)
True
>>> ds.connected(1,3)
False
>>> "a" in ds
False
>>> ds.find("a")
'a'
>>> "a" in ds
True
>>> list(ds)
[(1, 2), (2, 2), (3, 3), ('a', 'a')]
>>> list(ds.itersets())
[{1, 2}, {3}, {'a'}]
Contributing
Feel free to open any issues on github.
Authors
License
This project is licensed under the MIT License - see the LICENSE.md file for details
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_set-0.7.3.tar.gz
(3.7 kB
view hashes)
Built Distribution
Close
Hashes for disjoint_set-0.7.3-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | bf2c6b3a2bd614d67d17c45f15a8b3946c0a0b99b4c04f92a195128c5b1e6351 |
|
MD5 | 917da6158372f41720f074f6a608b4f4 |
|
BLAKE2b-256 | dd1482f05913cc9afa0c4ecfd3f425b6858562593b24d9b9a871cd30dd361f81 |