Bug 23: Union-Find Lost And Found
- This is the most efficient known disjoint-set algorithm: Martin Rem's union-find.
- The representative of a set (as returned by the Find method) is the set's lowest-numbered node.
- The Union method uses a sorted-merge traversal, moving along the path to the higher-numbered parent.
- The link to the higher-numbered parent is replaced by a link to the lower-numbered parent.
- Union returns true if two sets were joined. It returns false if both nodes were already in the same set.
- The Find method uses path-halving: To flatten the tree, every other node is linked to its grandparent.
Fix The Tiny Bug In This Go Code: