A hierarchical ordering on a finite collection of objects may be described as follows: each object with exactly one exception has a parent object. The one exception is is an object which has no parent and this exception is called the root.
All objects which have the same parent are said to be siblings and those objects are the children of the parent. An object with no children is said to be a leaf.
A binary relationship $ a \le b $ (read as a precedes or equals b) between two objects is said to be a hierarchical ordering if there is a single root object $ r $ and:
Two objects $ a $ and $ b $ are said to be comparable if either $ a \le b $ or $ b \le a $; otherwise, they are said to be non-comparable.
Figure 1 shows a hierarchical ordering of twenty-one objects. You may observe with the local definition, all nodes except the root $ a_{00} \le c $ have a parent. For example, the object $ a_{25} $ has $ a_{12} $ as its parent; however, with the mathematical definition, we may also say that $ a_{00} \le a_{25}$, $ a_{25} \le a_{34}$, $ a_{25} \le a_{35}$, and $ a_{25} \le a_{40}$.
There are certain objects which are not comparable: for example, it is neither true that $ a_{21} \le a_{35}$ nor that $ a_{35} \le a_{21}$; however, there is exactly one sequence $ a_{00} \le a_{12} \le a_{25} \le a_{35}$; which begins at the root.
Figure 1. A hierarchical ordering on twenty-one objects.
Note that any linear ordering defines a trivial hierarchical ordering where objects have at most one child.
In general, most hierarchical orderings are explicitly defined by the programmer and the data structure is constructed through explicit definitions.