Description
Persistent disjoint-sets, a.k.a union-find.
Description
This is a persistent data structure for disjoint sets.
The algorithm is described in "Introduction to Algorithms" by Cormen, et al. The implementation here uses both union by rank and path compression. We incur an O(logn) overhead because of the use of persistent maps.
Data.IntDisjointSet is as strict as possible.