Rev 23 | Go to most recent revision | Blame | Compare with Previous | Last modification | View Log | RSS feed
// Written by Ira Snyder
// 11-03-2004
import java.io.*;
import java.util.*;
class UnorderedTree {
private Object root;
private Set subtrees;
private int size;
public UnorderedTree( ) { } //constructs an empty tree
public UnorderedTree( Object root ) { //constructs a singleton
this.root = root;
subtrees = new HashSet(); //empty set
size = 1;
}
//constructor to create any tree that is not a singleton
//and is not an empty tree
public UnorderedTree( Object root, Set trees ) {
this(root);
for( Iterator it=trees.iterator(); it.hasNext(); ) {
Object object = it.next();
if( object instanceof UnorderedTree ) {
UnorderedTree tree = (UnorderedTree)object;
subtrees.add(tree);
size += tree.size;
}
}
}
public int size( ) { return size; }
} //end class UnorderedTree