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

If you're not sure about the file name format, learn more about wheel file names.

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

Uploaded Python 2Python 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 Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page