mirror of
https://github.com/trekhleb/javascript-algorithms.git
synced 2025-12-08 19:06:00 +00:00
21 lines
1.1 KiB
Markdown
21 lines
1.1 KiB
Markdown
# Disjoint Set
|
||
|
||
**Disjoint-set** data structure (also called a union–find data structure or merge–find set) is a data
|
||
structure that tracks a set of elements partitioned into a number of disjoint (non-overlapping) subsets.
|
||
It provides near-constant-time operations (bounded by the inverse Ackermann function) to *add new sets*,
|
||
to *merge existing sets*, and to *determine whether elements are in the same set*.
|
||
In addition to many other uses (see the Applications section), disjoint-sets play a key role in Kruskal's algorithm for finding the minimum spanning tree of a graph.
|
||
|
||

|
||
|
||
*MakeSet* creates 8 singletons.
|
||
|
||

|
||
|
||
After some operations of *Union*, some sets are grouped together.
|
||
|
||
## References
|
||
|
||
- [Wikipedia](https://en.wikipedia.org/wiki/Disjoint-set_data_structure)
|
||
- [By Abdul Bari on YouTube](https://www.youtube.com/watch?v=wU6udHRIkcc&index=14&t=0s&list=PLLXdhg_r2hKA7DPDsunoDZ-Z769jWn4R8)
|