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).