Graph TheoryD2Phase 2disjoint-setpath-compressionrank

Union-Find

Component connectivity visual with path compression and union by rank.

Easy Explanation

Union-Find quickly tracks which elements belong to the same group and merges groups efficiently.

Visualizer
O(1)Union-Find
Deterministic disjoint-set playback with root tracing, optional path compression, and union updates.

Nodes

0

Components

0

Successful Unions

0

Result

Processing

Ready

Press Play or Step to start execution.

Parents

n/a

Ranks

n/a

Active Query

n/a

activesecond operandcomponent cluster
No nodes available for visualization.
Union-Find Implementation
Pseudocode + TypeScript
Reference implementation examples are intentionally abstracted from the playback engine so learners can map concepts to code.
pseudocode
function find(x):
  if parent[x] != x:
    parent[x] <- find(parent[x])
  return parent[x]

function union(a, b):
  rootA <- find(a)
  rootB <- find(b)

  if rootA == rootB:
    return false

  if rank[rootA] < rank[rootB]:
    swap rootA, rootB

  parent[rootB] <- rootA
  if rank[rootA] == rank[rootB]:
    rank[rootA] <- rank[rootA] + 1

  return true
1.00xNo Run