  
  [1X5 [33X[0;0YUnion-Find[133X[101X
  
  
  [1X5.1 [33X[0;0YIntroduction[133X[101X
  
  [33X[0;0Y[5Xdatastructures[105X   defines   the   interface   for   mutable  data  structures
  representing  partitions  of  [10X[1..n][110X,  commonly  known  as  union-find  data
  structures.  Key  operations  are  [2XUnite[102X  ([14X5.2-5[114X) which fuses two parts of a
  partition   and   [2XRepresentative[102X   ([14X5.2-4[114X)   which   returns   a   canonical
  representative of the part containing a given point.[133X
  
  
  [1X5.2 [33X[0;0YAPI[133X[101X
  
  [1X5.2-1 IsPartitionDS[101X
  
  [33X[1;0Y[29X[2XIsPartitionDS[102X( [3Xarg[103X ) [32X filter[133X
  [6XReturns:[106X  [33X[0;10Y[10Xtrue[110X or [10Xfalse[110X[133X
  
  [33X[0;0YCategory of datastructures representing partitions. Equality is identity and
  family is ignored.[133X
  
  [1X5.2-2 PartitionDS[101X
  
  [33X[1;0Y[29X[2XPartitionDS[102X( [3Xfilter[103X, [3Xn[103X ) [32X constructor[133X
  
  [33X[0;0YFamily   containing  all  partition  data  structures  Returns  the  trivial
  partition of the set [10X[1..n][110X.[133X
  
  [1X5.2-3 PartitionDS[101X
  
  [33X[1;0Y[29X[2XPartitionDS[102X( [3Xfilter[103X, [3Xpartition[103X ) [32X constructor[133X
  
  [33X[0;0YReturns the union find structure of [3Xpartition[103X.[133X
  
  [1X5.2-4 Representative[101X
  
  [33X[1;0Y[29X[2XRepresentative[102X( [3Xunionfind[103X, [3Xk[103X ) [32X operation[133X
  [6XReturns:[106X  [33X[0;10Ya positive integer[133X
  
  [33X[0;0YReturns  a  canonical  representative of the part of the partition that [3Xk[103X is
  contained in.[133X
  
  [1X5.2-5 Unite[101X
  
  [33X[1;0Y[29X[2XUnite[102X( [3Xunionfind[103X, [3Xk1[103X, [3Xk2[103X ) [32X operation[133X
  
  [33X[0;0YFuses the parts of the paritition [3Xunionfind[103X containing [3Xk1[103X and [3Xk2[103X.[133X
  
  [1X5.2-6 RootsIteratorOfPartitionDS[101X
  
  [33X[1;0Y[29X[2XRootsIteratorOfPartitionDS[102X( [3Xunionfind[103X ) [32X operation[133X
  [6XReturns:[106X  [33X[0;10Yan iterator[133X
  
  [33X[0;0YReturns  an iterator that runs through canonical representatives of parts of
  the partition [3Xunionfind[103X.[133X
  
  [1X5.2-7 NumberParts[101X
  
  [33X[1;0Y[29X[2XNumberParts[102X( [3Xunionfind[103X ) [32X attribute[133X
  [6XReturns:[106X  [33X[0;10Ya positive integer[133X
  
  [33X[0;0YReturns the number of parts of the partition [3Xunionfind[103X.[133X
  
  [1X5.2-8 SizeUnderlyingSetDS[101X
  
  [33X[1;0Y[29X[2XSizeUnderlyingSetDS[102X( [3Xunionfind[103X ) [32X attribute[133X
  [6XReturns:[106X  [33X[0;10Ya positive integer[133X
  
  [33X[0;0YReturns the size of the underlying set of the partition [3Xunionfind[103X.[133X
  
  [1X5.2-9 PartsOfPartitionDS[101X
  
  [33X[1;0Y[29X[2XPartsOfPartitionDS[102X( [3Xunionfind[103X ) [32X attribute[133X
  [6XReturns:[106X  [33X[0;10Ya list of lists[133X
  
  [33X[0;0YReturns the partition [3Xunionfind[103X as a list of lists.[133X
  
