Help language development. Donate to The Perl Foundation

## Algorithm::SetUnion cpan:TITSUKI last updated on 2018-08-06

```[![Build Status](https://travis-ci.org/titsuki/p6-Algorithm-SetUnion.svg?branch=master)](https://travis-ci.org/titsuki/p6-Algorithm-SetUnion)

NAME
====

Algorithm::SetUnion - a perl6 implementation for solving the disjoint set union problem (a.k.a. Union-Find Tree)

SYNOPSIS
========

use Algorithm::SetUnion;

my \$set-union = Algorithm::SetUnion.new(size => 4);
\$set-union.union(0,1);
\$set-union.union(1,2);

my \$root = \$set-union.find(0);

DESCRIPTION
===========

Algorithm::SetUnion is a perl6 implementation for solving the disjoint set union problem (a.k.a. Union-Find Tree).

CONSTRUCTOR
-----------

my \$set-union = Algorithm::SetUnion.new(%options);

### OPTIONS

* `size => \$size`

Sets the number of disjoint sets.

METHODS
-------

### find(Int \$index --> Int:D)

my \$root = \$set-union.find(\$index);

Returns the name(i.e. root) of the set containing element `\$index`.

### union(Int \$left-index, Int \$right-index --> Bool:D)

\$set-union.union(\$left-index, \$right-index);

Unites sets containing element `\$left-index` and `\$right-index`. If sets are equal, it returns False otherwise True.

AUTHOR
======

titsuki <[email protected]>