Suggested additional code entry (required)
I {p←⍺ ⋄ p⊣{p[⍵]←⍺}⍥({p[⍵]}⍣≡)/¨⍵} Xv
Description (required)
Union-find (aka disjoint-set, merge–find) algorithm to merge sets (represented as trees). I is a parent vector. Xv is a vector of tuples representing vertices to merge. Returns a parent vector with those vertices merged.
Class (optional)
Tacit
Type (optional)
Monadic Function
Group (optional)
Dyadic Operator, Monadic Operator
Category (required)
Sets, Trees
Keywords (optional)
union-find disjoint-set merge–find
TIO (optional)
Try it online URL
Note: By submitting this issue, you permit your contribution to be used without restriction.
Suggested additional code entry (required)
Description (required)
Union-find (aka disjoint-set, merge–find) algorithm to merge sets (represented as trees).
Iis a parent vector.Xvis a vector of tuples representing vertices to merge. Returns a parent vector with those vertices merged.Class (optional)
Tacit
Type (optional)
Monadic Function
Group (optional)
Dyadic Operator, Monadic Operator
Category (required)
Sets, Trees
Keywords (optional)
union-find disjoint-set merge–find
TIO (optional)
Try it online URL
Note: By submitting this issue, you permit your contribution to be used without restriction.