package csc263hw3starter;

/**
    The Set class

        A Set object has multiple roles.

        Tree node role
        --------------
        It plays the role of a node in the trees described in the tree-based
        implementation of section 4.2.3.

        Set
        ---
        Unsurprisingly, Set also plays the role of a set when it is the root of a tree.

        Element Locator role
        --------------------
        It also plays the role of a locator for an element.
 */
public class Set
{
    // put instance variables here
    
    public Set(int value)
    {
        // IMPLEMENT THIS METHOD
        throw new UnsupportedOperationException();
    }
    
   /**
     * Creates and returns a set that is the union of this set and s.
     * 
     * @param s  set to be unioned with this set
     * @return   set that is the union of this set and s
     */    
    public Set union(Set s)
    {
        // IMPLEMENT THIS METHOD
        throw new UnsupportedOperationException();
    }
    
    /*
     * Returns the root of this node's tree.
     * 
     * find1 should implement path compression using
     * the first path compression method described in
     * the assignment handout.
     * 
     * @return the root of this node's tree
     */
    public Set find1()
    {
        // IMPLEMENT THIS METHOD
        throw new UnsupportedOperationException();
    }
    
    /*
     * Returns the root of this node's tree.
     * 
     * find2 should implement path compression using
     * the second path compression method described in
     * the assignment handout.
     */    
    public Set find2()
    {
        // IMPLEMENT THIS METHOD
        throw new UnsupportedOperationException();
    }
    
    /*
     * Returns the root of this node's tree.
     * 
     * find3 should implement path compression using
     * the third path compression method described in
     * the assignment handout.
     */
    public Set find3()
    {
        // IMPLEMENT THIS METHOD
        throw new UnsupportedOperationException();
    }    
}

