# Distance (graph theory)

In the mathematical field of graph theory, the distance between two vertices in a graph is the number of edges in a shortest path (also called a graph geodesic) connecting them. This is also known as the geodesic distance.[1] Notice that there may be more than one shortest path between two vertices.[2] If there is no path connecting the two vertices, i.e., if they belong to different connected components, then conventionally the distance is defined as infinite.

In the case of a directed graph the distance ${\displaystyle d(u,v)}$ between two vertices ${\displaystyle u}$ and ${\displaystyle v}$ is defined as the length of a shortest directed path from ${\displaystyle u}$ to ${\displaystyle v}$ consisting of arcs, provided at least one such path exists.[3] Notice that, in contrast with the case of undirected graphs, ${\displaystyle d(u,v)}$ does not necessarily coincide with ${\displaystyle d(v,u)}$, and it might be the case that one is defined while the other is not.

## Related concepts

A metric space defined over a set of points in terms of distances in a graph defined over the set is called a graph metric. The vertex set (of an undirected graph) and the distance function form a metric space, if and only if the graph is connected.

The eccentricity ${\displaystyle \epsilon (v)}$  of a vertex ${\displaystyle v}$  is the greatest distance between ${\displaystyle v}$  and any other vertex; in symbols that is ${\displaystyle \epsilon (v)=\max _{u\in V}d(v,u)}$ . It can be thought of as how far a node is from the node most distant from it in the graph.

The radius ${\displaystyle r}$  of a graph is the minimum eccentricity of any vertex or, in symbols, ${\displaystyle r=\min _{v\in V}\epsilon (v)=\min _{v\in V}\max _{u\in V}d(v,u)}$ .

The diameter ${\displaystyle d}$  of a graph is the maximum eccentricity of any vertex in the graph. That is, ${\displaystyle d}$  is the greatest distance between any pair of vertices or, alternatively, ${\displaystyle d=\max _{v\in V}\epsilon (v)}$ . To find the diameter of a graph, first find the shortest path between each pair of vertices. The greatest length of any of these paths is the diameter of the graph.

A central vertex in a graph of radius ${\displaystyle r}$  is one whose eccentricity is ${\displaystyle r}$ —that is, a vertex that achieves the radius or, equivalently, a vertex ${\displaystyle v}$  such that ${\displaystyle \epsilon (v)=r}$ .

A peripheral vertex in a graph of diameter ${\displaystyle d}$  is one that is distance ${\displaystyle d}$  from some other vertex—that is, a vertex that achieves the diameter. Formally, ${\displaystyle v}$  is peripheral if ${\displaystyle \epsilon (v)=d}$ .

A pseudo-peripheral vertex ${\displaystyle v}$  has the property that for any vertex ${\displaystyle u}$ , if ${\displaystyle v}$  is as far away from ${\displaystyle u}$  as possible, then ${\displaystyle u}$  is as far away from ${\displaystyle v}$  as possible. Formally, a vertex u is pseudo-peripheral, if for each vertex v with ${\displaystyle d(u,v)=\epsilon (u)}$  holds ${\displaystyle \epsilon (u)=\epsilon (v)}$ .

The partition of a graph's vertices into subsets by their distances from a given starting vertex is called the level structure of the graph.

A graph such that for every pair of vertices there is a unique shortest path connecting them is called a geodetic graph. For example, all trees are geodetic.[4]

## Algorithm for finding pseudo-peripheral vertices

Often peripheral sparse matrix algorithms need a starting vertex with a high eccentricity. A peripheral vertex would be perfect, but is often hard to calculate. In most circumstances a pseudo-peripheral vertex can be used. A pseudo-peripheral vertex can easily be found with the following algorithm:

1. Choose a vertex ${\displaystyle u}$ .
2. Among all the vertices that are as far from ${\displaystyle u}$  as possible, let ${\displaystyle v}$  be one with minimal degree.
3. If ${\displaystyle \epsilon (v)>\epsilon (u)}$  then set ${\displaystyle u=v}$  and repeat with step 2, else ${\displaystyle u}$  is a pseudo-peripheral vertex.