Thanks, I did look at the Wikipedia page, but the Applications section is pretty difficult to read. The applications it lists are themselves quite abstract problems.
Also, I think the ‘find’ operation could be replaced by an operation that checks if two elements are in the same set. That way you don’t have to come up with a “name”.
One thing I’m missing is which problems this technique can solve. I believe one important use case is in type inference. Are there many other problems that can be solved by union-find?
Why? They immediately explain that the difference in performance would not be significant on such a small problem and I see no other reason to prefer arrays over maps.