Explanation

- **Union-Find** is a data structure that is used to keep track of a collection of disjoint sets.
-
- It supports two main operations:
	- **Find**: Determines which set a particular element belongs to.
	-
	- **Union**: Merges two sets into a single set.
	-
- Union-Find is widely used in algorithms like **Kruskal's Minimum Spanning Tree** and **connected components in a graph**.

-

  • Steps:

    • Find: Use path compression to flatten the tree structure for faster future lookups.
    • Union: Use union by rank or size to keep the tree balanced by attaching the smaller tree under the larger tree.
  • Time Complexity:

    • Find and Union operations are nearly O(1) with path compression and union by rank.