<p><em>Taken from Wikipedia, the free encyclopedia:</em></p>

<p>In computer science, a tree is a widely-used computer data
structure that emulates a tree structure with a set of linked
<em>nodes</em>. Each node has zero or more <em>child nodes</em>,
which are below it in the tree (in computer science, unlike 
in nature, trees grow down, not up). A node that has a child 
is called the child's <em>parent node</em>. A child has at 
most one parent; a node without a parent is called the 
<em>root node</em> (or <em>root</em>). Nodes with no children
are called <em>leaf nodes</em> or <em>leaves</em>.</p>

<p>In graph theory, a tree is a <em>connected acyclic graph</em>.
A <em>rooted tree</em> is such a graph with a vertex singled 
out as the root. In this case, any two vertices connected by 
an edge inherit a parent-child relationship. An acyclic graph 
with multiple connected components or a set of rooted trees
is sometimes called a <em>forest</em>.</p>

<p>There are two basic types of tree. In an <em>unordered tree</em>,
there is no distinction between the various children of a node
- none is the "first child" or "last child". A tree in which
such distinctions are made is called an <em>ordered tree</em>,
and data structures built on them are called ordered tree data
structures. Ordered trees are by far the most common form of
tree data structure.</p>
