| **Definition:** | | A directed acyclic graph; i.e. a graph wherein there is only one route between any pair of nodes, and there is a notion of "toward top of the tree" (i.e. the root node), and its opposite direction, toward the leaves. A tree with n nodes has n-1 edges. Although maybe not part of the widest definition of a tree, a common constraint is that no node can have more than one parent. Moreover, for some applications, it is necessary to consider a node's daughter nodes to be an ordered list, instead of merely a set. As a data structure in computer programs, trees are used in everything from b-trees in databases and file systems, to game trees in game theory, to syntax trees in a human or computer languages. |