In mathematics and data structures:
It is an acyclic graph that includes hierarchically structured nodes in a "top to bottom" fashion.
A tree's top is called the root node where other nodes branch off and become parent nodes to other nodes
(i.e. they are in "higher order" than their child nodes).
Each child node can only have one parent node.
A node not having any child nodes (and thus being an end-point) is called a leaf.
The maximum number of children a node can have is called the order of the tree.
The maximum iterations needed to reach a desired leaf in the tree is called the depth of the tree.
When every node in a tree has the same order and every leaf the same depth, the tree is balanced.
A tree may have varying number of children per node, and data storage can be accomplished within different depths throughout the tree.
Such a tree structure is characterised an asymmetrical or unbalanced tree.
Tree structures are heavily used in several computing practices, from databases (B-trees for faster data processing)
to 3-D First-person shooter games (BSP trees, which help calculate the world the player sees).