In mathematics, and more specifically in graph theory, a **directed graph** (or **digraph**) is a graph that is made up of a set of vertices connected by directed edges often called **arcs**.

## Definition

In formal terms, a directed graph is an ordered pair *G* = (*V*, *A*) where^{[1]}

*V*is a set whose elements are called*vertices*,*nodes*, or*points*;*A*is a set of ordered pairs of vertices, called*arcs*,*directed edges*(sometimes simply*edges*with the corresponding set named*E*instead of*A*),*arrows*, or*directed lines*.

It differs from an ordinary or undirected graph, in that the latter is defined in terms of unordered pairs of vertices, which are usually called *edges*, *links* or *lines*.

The aforementioned definition does not allow a directed graph to have multiple arrows with the same source and target nodes, but some authors consider a broader definition that allows directed graphs to have such multiple arcs (namely, they allow the arc set to be a multiset). More specifically, these entities are addressed as **directed multigraphs** (or **multidigraphs**).

On the other hand, the aforementioned definition allows a directed graph to have loops (that is, arcs that directly connect nodes with themselves), but some authors consider a narrower definition that doesn't allow directed graphs to have loops.^{[2]}
More specifically, directed graphs without loops are addressed as **simple directed graphs**, while directed graphs with loops are addressed as *loop-digraphs* (see section Types of directed graphs).

## Types of directed graphs

### Subclasses

**Symmetric directed graphs**are directed graphs where all edges are bidirected (that is, for every arrow that belongs to the digraph, the corresponding inversed arrow also belongs to it).**Simple directed graphs**are directed graphs that have no loops (arrows that directly connect vertices to themselves) and no multiple arrows with same source and target nodes. As already introduced, in case of multiple arrows the entity is usually addressed as*directed multigraph*. Some authors describe digraphs with loops as*loop-digraphs*.^{[2]}**Complete directed graphs**are simple directed graphs where each pair of vertices is joined by a symmetric pair of directed arcs (it is equivalent to an undirected complete graph with the edges replaced by pairs of inverse arcs). It follows that a complete digraph is symmetric.**Semicomplete multipartite digraphs**are simple digraphs in which the vertex set is partition into partite sets such that for every pair of vertices*x*and*y*in different partite sets, there is an arc between*x*and*y*. Note that there can be one arc between*x*and*y*or two arcs in the opposite directions.^{[3]}**Semicomplete digraphs**are simple digraphs where there is an arc between each pair of vertices. Every semicomplete digraph is a semicomplete multipartite digraph, where the number of vertices equals the number of partite sets.^{[4]}**Quasi-transitive digraphs**are simple digraphs where for every triple*x*,*y*,*z*of distinct vertices with arcs from*x*to*y*and from*y*to*z*, there is an arc between*x*and*z*. Note that there can be just one arc between*x*and*z*or two arcs in opposite directions. A semicomplete digraph is a quasi-transitive digraph. There are extensions of quasi-transitive digraphs called*k*-quasi-transitive digraphs.^{[5]}**Oriented graphs**are directed graphs having no bidirected edges (i.e. at most one of (*x*,*y*) and (*y*,*x*) may be arrows of the graph). It follows that a directed graph is an oriented graph if and only if it hasn't any 2-cycle.^{[6]}**Tournaments**are oriented graphs obtained by choosing a direction for each edge in undirected complete graphs. Note that a tournament is a semicomplete digraph.^{[7]}**Directed acyclic graphs**(DAGs) are directed graphs with no directed cycles.^{[8]}*Multitrees*are DAGs in which no two distinct directed paths from a single starting vertex meet back at the same ending vertex.*Oriented trees*or*polytrees*are DAGs formed by orienting the edges of undirected acyclic graphs.*Rooted trees*are oriented trees in which all edges of the underlying undirected tree are directed either away from or towards the root (they are called**out-trees**and**in-trees**, respectively.

### Digraphs with supplementary properties

**Weighted directed graphs**(also known as**directed networks**) are (simple) directed graphs with*weights*assigned to their arrows, similarly to weighted graphs (which are also known as undirected networks or weighted networks).^{[2]}**Flow networks**are weighted directed graphs where two nodes are distinguished, a*source*and a*sink*.

**Rooted directed graphs**(also known as**flow graphs**) are digraphs in which a vertex has been distinguished as the root.*Control-flow graphs*are rooted digraphs used in computer science as a representation of the paths that might be traversed through a program during its execution.

**Signal-flow graphs**are directed graphs in which nodes represent system variables and branches (edges, arcs, or arrows) represent functional connections between pairs of nodes.**Flow graphs**are digraphs associated with a set of linear algebraic or differential equations.**State diagrams**are directed multigraphs that represent finite state machines.**Commutative diagrams**are digraphs used in category theory, where the vertices represent (mathematical) objects and the arrows represent morphisms, with the property that all directed paths with the same start and endpoints lead to the same result by composition.- In the theory of Lie groups, a
**quiver***Q*is a directed graph serving as the domain of, and thus characterizing the shape of, a*representation**V*defined as a functor, specifically an object of the functor category FinVct_{K}^{F(Q)}where*F*(*Q*) is the free category on*Q*consisting of paths in*Q*and FinVct_{K}is the category of finite-dimensional vector spaces over a field*K*. Representations of a quiver label its vertices with vector spaces and its edges (and hence paths) compatibly with linear transformations between them, and transform via natural transformations.

## Basic terminology

An arc (*x*, *y*) is considered to be directed *from* *x* *to* *y*; *y* is called the *head* and *x* is called the *tail* of the arc; *y* is said to be a *direct successor* of *x* and *x* is said to be a *direct predecessor* of *y*. If a path leads from *x* to *y*, then *y* is said to be a *successor* of *x* and *reachable* from *x*, and *x* is said to be a *predecessor* of *y*. The arc (*y*, *x*) is called the *reversed arc* of (*x*, *y*).

The adjacency matrix of a multidigraph with loops is the integer-valued matrix with rows and columns corresponding to the vertices, where a nondiagonal entry *a*_{ij} is the number of arcs from vertex *i* to vertex *j*, and the diagonal entry *a*_{ii} is the number of loops at vertex *i*. The adjacency matrix of a directed graph is unique up to identical permutation of rows and columns.

Another matrix representation for a directed graph is its incidence matrix.

See direction for more definitions.

## Indegree and outdegree

For a vertex, the number of head ends adjacent to a vertex is called the *indegree* of the vertex and the number of tail ends adjacent to a vertex is its *outdegree* (called *branching factor* in trees).

Let *G* = (*V*, *A*) and *v* ∈ *V*. The indegree of *v* is denoted deg^{−}(*v*) and its outdegree is denoted deg^{+}(*v*).

A vertex with deg^{−}(*v*) = 0 is called a *source*, as it is the origin of each of its outcoming arcs. Similarly, a vertex with deg^{+}(*v*) = 0 is called a *sink*, since it is the end of each of its incoming arcs.

The *degree sum formula* states that, for a directed graph,

If for every vertex *v* ∈ *V*, deg^{+}(*v*) = deg^{−}(*v*), the graph is called a *balanced directed graph*.^{[9]}

## Degree sequence

The degree sequence of a directed graph is the list of its indegree and outdegree pairs; for the above example we have degree sequence ((2, 0), (2, 2), (0, 2), (1, 1)). The degree sequence is a directed graph invariant so isomorphic directed graphs have the same degree sequence. However, the degree sequence does not, in general, uniquely identify a directed graph; in some cases, non-isomorphic digraphs have the same degree sequence.

The directed graph realization problem is the problem of finding a directed graph with the degree sequence a given sequence of positive integer pairs. (Trailing pairs of zeros may be ignored since they are trivially realized by adding an appropriate number of isolated vertices to the directed graph.) A sequence which is the degree sequence of some directed graph, i.e. for which the directed graph realization problem has a solution, is called a directed graphic or directed graphical sequence. This problem can either be solved by the Kleitman–Wang algorithm or by the Fulkerson–Chen–Anstee theorem.

## Directed graph connectivity

A directed graph is *weakly connected* (or just *connected*^{[10]}) if the undirected *underlying graph* obtained by replacing all directed edges of the graph with undirected edges is a connected graph.

A directed graph is *strongly connected* or *strong* if it contains a directed path from *x* to *y* (and from *y* to *x*) for every pair of vertices (*x*, *y*). The *strong components* are the maximal strongly connected subgraphs.

A connected rooted graph (or *flow graph*) is one where there exists a directed path to every vertex from a distinguished *root vertex*.

## See also

Wikimedia Commons has media related to Directed graphs. |

- Binary relation
- Coates graph
- DRAKON flowchart
- Flow chart
- Glossary of graph theory
- Graph theory
- Graph (abstract data type)
- Network theory
- Orientation
- Preorder
- Topological sorting
- Transpose graph
- Vertical constraint graph
- Globular set

## Notes

**^**Bang-Jensen & Gutin (2000). Bang-Jensen & Gutin (2018), Chapter 1.Diestel (2005), Section 1.10. Bondy & Murty (1976), Section 10.- ^
^{a}^{b}^{c}Chartrand, Gary (1977).*Introductory Graph Theory*. Courier Corporation. ISBN 9780486247755. **^**Bang-Jensen & Gutin (2018), Chapter 7 by Yeo.**^**Bang-Jensen & Gutin (2018), Chapter 2 by Bang-Jensen and Havet.**^**Bang-Jensen & Gutin (2018), Chapter 8 by Galeana-Sanchez and Hernandez-Cruz.**^**Diestel (2005), Section 1.10.**^**Bang-Jensen & Gutin (2018), Chapter 2 by Bang-Jensen and Havet.**^**Bang-Jensen & Gutin (2018), Chapter 3 by Gutin.**^**Satyanarayana, Bhavanari; Prasad, Kuncham Syam,*Discrete Mathematics and Graph Theory*, PHI Learning Pvt. Ltd., p. 460, ISBN 978-81-203-3842-5; Brualdi, Richard A. (2006),*Combinatorial Matrix Classes*, Encyclopedia of Mathematics and Its Applications,**108**, Cambridge University Press, p. 51, ISBN 978-0-521-86565-4.**^**Bang-Jensen & Gutin (2000) p. 19 in the 2007 edition; p. 20 in the 2nd edition (2009).

## References

- Bang-Jensen, Jørgen; Gutin, Gregory (2000),
*Digraphs: Theory, Algorithms and Applications*, Springer, ISBN 1-85233-268-9

(the corrected 1st edition of 2007 is now freely available on the authors' site; the 2nd edition appeared in 2009 ISBN 1-84800-997-6). - Bang-Jensen, Jørgen; Gutin, Gregory (2018),
*Classes of Directed Graphs*, Springer, ISBN 3319718401. - Bondy, John Adrian; Murty, U. S. R. (1976),
*Graph Theory with Applications*, North-Holland, ISBN 0-444-19451-7. - Diestel, Reinhard (2005),
*Graph Theory*(3rd ed.), Springer, ISBN 3-540-26182-6 (the electronic 3rd edition is freely available on author's site). - Harary, Frank; Norman, Robert Z.; Cartwright, Dorwin (1965),
*Structural Models: An Introduction to the Theory of Directed Graphs*, New York: Wiley. - Number of directed graphs (or directed graphs) with n nodes from On-Line Encyclopedia of Integer Sequences