Graphs

Understand the different types of graphs and their properties.

Graph

Formally, a simple graph is a pair of sets (V,E),(V,E), where VV is an arbitrary non-empty finite set, whose elements are called vertices or nodes, and EE is a set of pairs of elements of V,V, which we call edges. In an undirected graph, the edges are unordered pairs or just sets of size two. We usually write uv{uv} instead of {u,v}\left\{ u, v \right\} to denote the undirected edge between uu and vv. In a directed graph, the edges are ordered pairs of vertices. We usually write uvu\rightarrow v instead of (u,v)(u, v) to denote the directed edge from uu to vv.

Following standard (but admittedly confusing) practice, we will also use VV to denote the number of vertices in a graph and EE to denote the number of edges. Thus, in any undirected graph, we have 0E(V2)0 ≤ E ≤ \binom{V}{2}, and in any directed graph, we have 0EV(V1)0 ≤ E ≤ V (V − 1).

The endpoints of an edge uvuv or uvu\rightarrow v are its vertices uu and vv. We distinguish the endpoints of a directed edge uvu\rightarrow v by calling uu the tail and vv the head.

The definition of a graph as a pair of sets forbids multiple undirected edges with the same endpoints or multiple directed edges with the same head and the same tail. (The same directed graph can contain both a directed edge uvu\rightarrow v and its reversal vuv\rightarrow u.) Similarly, the definition of an undirected edge as a set of vertices forbids an undirected edge from a vertex to itself. Graphs without loops and parallel edges are often called simple graphs; non-simple graphs are sometimes called multigraphs. Despite the formal definitional gap, most algorithms for simple graphs extend to multigraphs with little or no modification, and for that reason, we see no need for a formal definition here.

For any edge uvuv ...

Create a free account to access the full course.

By signing up, you agree to Educative's Terms of Service and Privacy Policy