used by Tree class to hold individual nodes in the tree
constructor
stores child nodes
the data stored
pointer to the parent node, if this is null, this is the root of the tree
See Implementation
used by Tree class to hold individual nodes in the tree