In graph theory, an arborescence is a directed graph in which, for a vertex u called the root and any other vertex v, there is exactly one directed path from u to v.[1] An arborescence is thus the directed-graph form of a rooted tree, understood here as an undirected graph.[2][3]
Equivalently, an arborescence is a directed, rooted tree in which all edges point away from the root; a number of other equivalent characterizations exist.[4][5] Every arborescence is a directed acyclic graph (DAG), but not every DAG is an arborescence.
An arborescence can equivalently be defined as a rooted digraph in which the path from the root to any other vertex is unique.[2]
The term arborescence comes from French.[6] Some authors object to it on grounds that it is cumbersome to spell.[7] There is a large number of synonyms for arborescence in graph theory, including directed rooted tree[3][7] out-arborescence,[8] out-tree,[9] and even branching being used to denote the same concept.[9] Rooted tree itself has been defined by some authors as a directed graph.[10][11][12]
Furthermore, some authors define an arborescence to be a spanning directed tree of a given digraph.[12][13] The same can be said about some of its synonyms, especially branching.[13] Other authors use branching to denote a forest of arborescences, with the latter notion defined in broader sense given at beginning of this article,[14][15] but a variation with both notions of the spanning flavor is also encountered.[12]
It's also possible to define a useful notion by reversing all the arcs of an arborescence, i.e. making them all point to the root rather than away from it. Such digraphs are also designated by a variety of terms such as in-tree[16] or anti-arborescence[17] etc. W. T. Tutte distinguishes between the two cases by using the phrases arborescence diverging from [some root] and arborescence converging to [some root].[18]
The number of rooted trees (or arborescences) with n nodes is given by the sequence: