Skip to main content

Disjoint set / union find algorithm

Project description

Disjoint Union

Implementation of the union find algorithm. This library will work with all 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 | and + operators on a DisjointUnion to create a new DisjointUnion, or you can mutate the original union using the |= and += assignment operators, or the union(x, y) and unions(*iterable) methods.

In [1]: from disjoint_union import DisjointUnion
In [2]: d = DisjointUnion(range(5))
In [3]: d
Out[3]: [{0, 1, 2, 3, 4}]

In [4]: d | range(6, 10)
Out[4]: [{0, 1, 2, 3, 4}, {6, 7, 8, 9}]

In [5]: d |= range(6, 10)
In [6]: d
Out[6]: [{0, 1, 2, 3, 4}, {6, 7, 8, 9}]

In [7]: d.union(2, 5)
Out[7]: [{0, 1, 2, 3, 4, 5}, {6, 7, 8, 9}]

In [8]: d |= (5, 6)
In [9]: d
Out[9]: [{0, 1, 2, 3, 4, 5, 6, 7, 8, 9}]

In [10]: d |= range(10, 15)
In [11]: d
Out[11]: [{0, 1, 2, 3, 4, 5, 6, 7, 8, 9}, {10, 11, 12, 13, 14}]

In [12]: d | (9, 10, 15)
Out[12]: [{0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15}]

Project details


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.5.0.tar.gz (5.7 kB view details)

Uploaded Source

Built Distribution

disjoint_union-0.5.0-py2.py3-none-any.whl (6.0 kB view details)

Uploaded Python 2 Python 3

File details

Details for the file disjoint_union-0.5.0.tar.gz.

File metadata

  • Download URL: disjoint_union-0.5.0.tar.gz
  • Upload date:
  • Size: 5.7 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.0 CPython/3.10.4

File hashes

Hashes for disjoint_union-0.5.0.tar.gz
Algorithm Hash digest
SHA256 5ca175968c3aad3ceb61f1e5159396dcd73e9169f642992205b1608ef4ab63a7
MD5 c8657199b72a9cea477f991225cc2064
BLAKE2b-256 985a3b8334a1d8dafa3fac6e8c36bfb4c86e8230824329cb4b94920836ab2238

See more details on using hashes here.

File details

Details for the file disjoint_union-0.5.0-py2.py3-none-any.whl.

File metadata

File hashes

Hashes for disjoint_union-0.5.0-py2.py3-none-any.whl
Algorithm Hash digest
SHA256 0da41b821465c3c8ae64ba049eacf1cae7c433cf977376d4dcbc5975cc1a8e6f
MD5 9f5be9a1306c8ac5c84941445d616643
BLAKE2b-256 90a1fee4593f62f1586411e5311d1b7b8b5ce7a5652c823a3e294a6eca6df965

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page