A Tree is a Collection of Nodes.
A Node has a value and a Set of references to zero or more other Nodes called "children".
A Node with NO references TO other Nodes is called a Leaf Node.
A Node with NO references FROM other Nodes is called the Root Node. Every Tree has exactly one Root Node.
Every Node in a Tree is referenced by exactly one "parent" Node.
A Tree with n Nodes is balanced when it's height is O(log(n))
Different types of Trees have different constraints on the Nodes it contains. Here are some examples.