Skip to main content

Disjoint set data structure implementation for Python

Project description

disjoint-set

PyPI - Python Version PyPI Coveralls PyPI - License

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 he package was installed to your current environment by running:

$ pip list | grep disjoint-set
disjoint-set      0.6.1

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


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Files for disjoint-set, version 0.6.1
Filename, size & hash File type Python version Upload date
disjoint_set-0.6.1-py3-none-any.whl (5.3 kB) View hashes Wheel py3
disjoint_set-0.6.1.tar.gz (3.5 kB) View hashes Source None

Supported by

Elastic Elastic Search Pingdom Pingdom Monitoring Google Google BigQuery Sentry Sentry Error logging AWS AWS Cloud computing DataDog DataDog Monitoring Fastly Fastly CDN SignalFx SignalFx Supporter DigiCert DigiCert EV certificate StatusPage StatusPage Status page