{ "info": { "author": "", "author_email": "", "bugtrack_url": null, "classifiers": [ "License :: OSI Approved :: MIT License", "Operating System :: OS Independent", "Programming Language :: Python :: 3" ], "description": "# disjoint-set\n\n![PyPI - Python Version](https://img.shields.io/pypi/pyversions/disjoint_set.svg)\n[![PyPI](https://img.shields.io/pypi/v/disjoint_set.svg)](https://pypi.org/project/disjoint-set/)\n![Coveralls](https://img.shields.io/coveralls/github/mrapacz/disjoint-set/master.svg)\n![PyPI - License](https://img.shields.io/pypi/l/disjoint_set.svg)\n\n[DisjointSet](https://en.wikipedia.org/wiki/Disjoint-set_data_structure) (a.k.a. union\u2013find data structure or merge\u2013find set) implementation for Python.\n\n## Prerequisites\n\nThe only requirement is having Python 3 installed, you can verify this by running:\n```bash\n$ python --version\nPython 3.7.2\n```\n\n## Installation\n\n```\npip install disjoint-set\n```\n\nYou can verify he package was installed to your current environment by running:\n```bash\n$ pip list | grep disjoint-set\ndisjoint-set 0.6.1\n```\n\n## Usage\n\n```python\n>>> from disjoint_set import DisjointSet\n>>> ds = DisjointSet()\n>>> ds.find(1)\n1\n>>> ds.union(1,2)\n>>> ds.find(1)\n2\n>>> ds.find(2)\n2\n>>> ds.connected(1,2)\nTrue\n>>> ds.connected(1,3)\nFalse\n\n>>> \"a\" in ds\nFalse\n>>> ds.find(\"a\")\n'a'\n>>> \"a\" in ds\nTrue\n\n>>> list(ds)\n[(1, 2), (2, 2), (3, 3), ('a', 'a')]\n\n>>> list(ds.itersets())\n[{1, 2}, {3}, {'a'}]\n\n```\n\n## Contributing\n\nFeel free to open any issues on github.\n\n## Authors\n\n* [Maciej Rapacz](https://github.com/mrapacz/)\n\n\n## License\n\nThis project is licensed under the MIT License - see the [LICENSE.md](LICENSE.md) file for details\n\n\n", "description_content_type": "text/markdown", "docs_url": null, "download_url": "", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://github.com/mrapacz/disjoint_set", "keywords": "", "license": "", "maintainer": "Maciej Rapacz", "maintainer_email": "python.disjointset@gmail.com", "name": "disjoint-set", "package_url": "https://pypi.org/project/disjoint-set/", "platform": "", "project_url": "https://pypi.org/project/disjoint-set/", "project_urls": { "Homepage": "https://github.com/mrapacz/disjoint_set" }, "release_url": "https://pypi.org/project/disjoint-set/0.6.1/", "requires_dist": null, "requires_python": "", "summary": "Disjoint set data structure implementation for Python", "version": "0.6.1" }, "last_serial": 5388325, "releases": { "0.0.1": [ { "comment_text": "", "digests": { "md5": "d65b81eeec599346a963b7edcc8cb0b3", "sha256": "109543068bad2031f33323629d89f894b3eea7be0206b3ab09bcc1f4434ecfd1" }, "downloads": -1, "filename": "disjoint_set-0.0.1-py3-none-any.whl", "has_sig": false, "md5_digest": "d65b81eeec599346a963b7edcc8cb0b3", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 3742, "upload_time": "2019-05-23T21:19:19", "url": "https://files.pythonhosted.org/packages/b0/0c/6fd8446684904e85a62ae720348d70cc061c1ac081516483fabaf81091a0/disjoint_set-0.0.1-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "1fc300b590400e92f84783a91ece5118", "sha256": "9addde862c461a14c10525e302598b90e59f94f29495eea764d9df9366c9a8c6" }, "downloads": -1, "filename": "disjoint_set-0.0.1.tar.gz", "has_sig": false, "md5_digest": "1fc300b590400e92f84783a91ece5118", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 2227, "upload_time": "2019-05-23T21:19:21", "url": "https://files.pythonhosted.org/packages/f6/0c/be569fec49742cb61b66c28dd29761e8ac48a75bc98bc1b50069c7cb2210/disjoint_set-0.0.1.tar.gz" } ], "0.0.2": [ { "comment_text": "", "digests": { "md5": "55394012c9a68127ab3d4e612531fdc4", "sha256": "888e5c0a95ac9da8899e7493c15a9c80c7a32ed8d0818f9e465f6baa4f72be2b" }, "downloads": -1, "filename": "disjoint_set-0.0.2-py3-none-any.whl", "has_sig": false, "md5_digest": "55394012c9a68127ab3d4e612531fdc4", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 4245, "upload_time": "2019-05-23T21:38:26", "url": "https://files.pythonhosted.org/packages/d3/6c/d44503067cb6f8be09fbae1de6e314d7d6c858098b08f2bc169e49648bb6/disjoint_set-0.0.2-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "618a036e208d7e3f9391b0e77961177d", "sha256": "a33d0960c4849ef0343afca240bd4c5c65e5e0c4e1f8c3a96cc170d51dec76b6" }, "downloads": -1, "filename": "disjoint_set-0.0.2.tar.gz", "has_sig": false, "md5_digest": "618a036e208d7e3f9391b0e77961177d", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 2595, "upload_time": "2019-05-23T21:38:27", "url": "https://files.pythonhosted.org/packages/27/54/b62487d636f99a1a0aefd0450778c77839b36146f245dcf6a7ffb0df00b7/disjoint_set-0.0.2.tar.gz" } ], "0.0.3": [ { "comment_text": "", "digests": { "md5": "66f6ea64beee864c6f25edaafa9e9302", "sha256": "66cbff8c9ab78963bac2c0d0d510856083ce5fc32a71b00f7bd2888e07838209" }, "downloads": -1, "filename": "disjoint_set-0.0.3-py3-none-any.whl", "has_sig": false, "md5_digest": "66f6ea64beee864c6f25edaafa9e9302", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 4447, "upload_time": "2019-05-23T22:17:20", "url": "https://files.pythonhosted.org/packages/48/fb/3c422e798cf653ffbce8d3f31637ca5345dcb304d2375d86257773eecc43/disjoint_set-0.0.3-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "8d1a3f2f6ea8eb74bf34f9b1657392a7", "sha256": "7405fa74c6092936b2f12c6b8fbbd881e70899cd74cb893184f8c112a75d3cde" }, "downloads": -1, "filename": "disjoint_set-0.0.3.tar.gz", "has_sig": false, "md5_digest": "8d1a3f2f6ea8eb74bf34f9b1657392a7", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 2800, "upload_time": "2019-05-23T22:17:21", "url": "https://files.pythonhosted.org/packages/1c/7f/293da83d49bd866305de7439083f86c84e04e63284d98d72479a6fba8192/disjoint_set-0.0.3.tar.gz" } ], "0.4.0": [ { "comment_text": "", "digests": { "md5": "2d05173e49a260535cc3e145acac70b0", "sha256": "45717f0e283fdcd5fbf5988c9fe8a5cef7dfc85ab86a7bf8972ee79ac9de8317" }, "downloads": -1, "filename": "disjoint_set-0.4.0-py3-none-any.whl", "has_sig": false, "md5_digest": "2d05173e49a260535cc3e145acac70b0", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 4517, "upload_time": "2019-05-23T22:23:48", "url": "https://files.pythonhosted.org/packages/0a/35/f485a051e36fbbd4737b701f31a110a37f128c2d5e00a0846163665bf23e/disjoint_set-0.4.0-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "4618e80dcf8a2464ced0933f37b64028", "sha256": "a57c4a825f0640fd7ffad84314d19854cd24d76f2178b67d2e4e7c10af9ed1be" }, "downloads": -1, "filename": "disjoint_set-0.4.0.tar.gz", "has_sig": false, "md5_digest": "4618e80dcf8a2464ced0933f37b64028", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 2871, "upload_time": "2019-05-23T22:23:49", "url": "https://files.pythonhosted.org/packages/14/96/567344c94f40cb096b1b828f4b90915ba31654c6d6f16cdf6c37a7ca0709/disjoint_set-0.4.0.tar.gz" } ], "0.5.0": [ { "comment_text": "", "digests": { "md5": "08ed7868bd0cb665d4f2549877b8c828", "sha256": "25d216c55ee7dd03140559260fa0d31e438514fd224a68e7c73c4cb1ba437b52" }, "downloads": -1, "filename": "disjoint_set-0.5.0-py3-none-any.whl", "has_sig": false, "md5_digest": "08ed7868bd0cb665d4f2549877b8c828", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 4560, "upload_time": "2019-05-24T08:48:01", "url": "https://files.pythonhosted.org/packages/5c/89/3157f3efdd1bd4f8e20b6f6ee0daff88ea222dc982e7dd2b235c308f3e05/disjoint_set-0.5.0-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "a2d077ca402d525316f9e077b7dc9d9e", "sha256": "31addc26a1448e67723ef823f134553967a7dbfb67352a9d5f98d6205b2ebc62" }, "downloads": -1, "filename": "disjoint_set-0.5.0.tar.gz", "has_sig": false, "md5_digest": "a2d077ca402d525316f9e077b7dc9d9e", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 2913, "upload_time": "2019-05-24T08:48:02", "url": "https://files.pythonhosted.org/packages/ca/06/de4aa95445dcf15e06c2251cdd640ed0c5be9622fe8c88c754eabad59e2d/disjoint_set-0.5.0.tar.gz" } ], "0.6.0": [ { "comment_text": "", "digests": { "md5": "11b1d40dbe31038a5cb4fb21f53476e8", "sha256": "fed0fbdd1f98064696bc8704ac0988014e0435229284cace1722c4b580996a9c" }, "downloads": -1, "filename": "disjoint_set-0.6.0-py3-none-any.whl", "has_sig": false, "md5_digest": "11b1d40dbe31038a5cb4fb21f53476e8", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 5108, "upload_time": "2019-06-10T20:33:29", "url": "https://files.pythonhosted.org/packages/f9/c0/f76e70dad4117bae1efa1a5abb8919634a3190fe74c78d80892cccf7f561/disjoint_set-0.6.0-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "bbd0c63df8508e4ec7b749baa34a961d", "sha256": "7e3371aff6328e59034907b15e016c9e4e2551f4533aead3693c9c447144f9ea" }, "downloads": -1, "filename": "disjoint_set-0.6.0.tar.gz", "has_sig": false, "md5_digest": "bbd0c63df8508e4ec7b749baa34a961d", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 3335, "upload_time": "2019-06-10T20:33:31", "url": "https://files.pythonhosted.org/packages/37/e3/b05022fee5085b1b904948d06f938446415140bd527defb580e5a1238308/disjoint_set-0.6.0.tar.gz" } ], "0.6.1": [ { "comment_text": "", "digests": { "md5": "7978b7c8c24b813c210b84be5cd8c2f4", "sha256": "27d6e02d4ebf2b78c3d94b7cd340076aaf02d7581b8a902f24c273dbd6e9a660" }, "downloads": -1, "filename": "disjoint_set-0.6.1-py3-none-any.whl", "has_sig": false, "md5_digest": "7978b7c8c24b813c210b84be5cd8c2f4", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 5296, "upload_time": "2019-06-11T20:58:22", "url": "https://files.pythonhosted.org/packages/93/84/116c2f55f67ebd864771257aa39b76b5f8b9a6e100660a0f7f1787b32cfe/disjoint_set-0.6.1-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "ffce1b91aa4becc435108bc9e55ef769", "sha256": "cf04d3523d9315168250618b79446d4397aadefdde9386d493d18abfafc474f9" }, "downloads": -1, "filename": "disjoint_set-0.6.1.tar.gz", "has_sig": false, "md5_digest": "ffce1b91aa4becc435108bc9e55ef769", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 3463, "upload_time": "2019-06-11T20:58:24", "url": "https://files.pythonhosted.org/packages/5c/c5/fa49956ee1ae7f89eda7fa6e6f75caf1a3cfe0b37b6d0db23c491d621ac0/disjoint_set-0.6.1.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "7978b7c8c24b813c210b84be5cd8c2f4", "sha256": "27d6e02d4ebf2b78c3d94b7cd340076aaf02d7581b8a902f24c273dbd6e9a660" }, "downloads": -1, "filename": "disjoint_set-0.6.1-py3-none-any.whl", "has_sig": false, "md5_digest": "7978b7c8c24b813c210b84be5cd8c2f4", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 5296, "upload_time": "2019-06-11T20:58:22", "url": "https://files.pythonhosted.org/packages/93/84/116c2f55f67ebd864771257aa39b76b5f8b9a6e100660a0f7f1787b32cfe/disjoint_set-0.6.1-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "ffce1b91aa4becc435108bc9e55ef769", "sha256": "cf04d3523d9315168250618b79446d4397aadefdde9386d493d18abfafc474f9" }, "downloads": -1, "filename": "disjoint_set-0.6.1.tar.gz", "has_sig": false, "md5_digest": "ffce1b91aa4becc435108bc9e55ef769", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 3463, "upload_time": "2019-06-11T20:58:24", "url": "https://files.pythonhosted.org/packages/5c/c5/fa49956ee1ae7f89eda7fa6e6f75caf1a3cfe0b37b6d0db23c491d621ac0/disjoint_set-0.6.1.tar.gz" } ] }