Graph Theory Concepts

This page provides an overview of several concepts in graph theory. Not all of them are commonly encountered in OI; for OIers, mastering the basic material in this page is sufficient. If you encounter a concept you do not understand while studying, you can return here for reference.

Warning

Definitions in graph theory often differ between textbooks, so their meaning should be determined from the context in which they occur.

Graphs

A graph (graph) is an ordered pair G=(V(G),E(G))G=(V(G), E(G)). Here, V(G)V(G) is a nonempty set called the vertex set. Each element of VV is called a vertex (vertex) or node (node), or simply a vertex; E(G)E(G) is the set of edges between vertices of V(G)V(G), called the edge set.

A graph is commonly written as G=(V,E)G=(V,E).

When both V,EV,E are finite sets, GG is called a finite graph.

When VV or EE is an infinite set, GG is called an infinite graph.

There are several kinds of graphs, including undirected graphs (undirected graph), directed graphs (directed graph), and mixed graphs (mixed graph).

If GG is an undirected graph, each element of EE is an unordered pair (u,v)(u, v), called an undirected edge (undirected edge), or simply an edge (edge), where u,v∈Vu, v \in V. If e=(u,v)e = (u, v), then uu and vv are called the endpoints (endpoint) of ee.

If GG is a directed graph, each element of EE is an ordered pair (u,v)(u, v), sometimes written as u→vu \to v, called a directed edge (directed edge) or an arc (arc). When there is no risk of confusion, it may also be called an edge (edge). If e=u→ve = u \to v, then uu is called the tail (tail) of ee, and vv is the head (head) of ee; the tail and head are also called the endpoints (endpoint) of ee. We also say that uu is the immediate predecessor of vv, and vv is the immediate successor of uu.

Why is the tail the tail and the endpoint the head?

Edges are usually represented by arrows, and an arrow points from its tail to its head.

If GG is a mixed graph, EE contains both directed edges and undirected edges.

If GG has every edge ek=(uk,vk)e_k=(u_k,v_k) assigned a number as its weight, then GG is called a weighted graph. If all these weights are positive real numbers, GG is called a positive-weight graph.

The number of vertices in graph GG, ∣V(G)∣\left| V(G) \right|, is also called the order (order) of graph GG.

In intuitive terms, a graph consists of several vertices together with edges connecting vertices to one another.

Adjacency

In an undirected graph G=(V,E)G = (V, E), if vertex vv is an endpoint of edge ee, then vv and ee are incident (incident) or adjacent (adjacent). For two vertices uu and vv, if an edge (u,v)(u, v) exists, then uu and vv are adjacent (adjacent).

The neighborhood (neighborhood) of a vertex v∈Vv \in V is the set of all vertices adjacent to it, denoted by N(v)N(v).

The neighborhood of a vertex set SS is the set of all vertices adjacent to at least one vertex in SS, denoted by N(S)N(S); that is:

N(S)=⋃v∈SN(v)N(S) = \bigcup_{v \in S} N(v)

Simple graphs

Loop (loop): For an edge e=(u,v)e = (u, v) in EE, if u=vu = v, then ee is called a loop.

Multiple edge (multiple edge): If EE contains two identical elements (edges) e1,e2e_1, e_2, they are called a set of multiple edges.

Simple graph (simple graph): A graph with no loops or multiple edges is called a simple graph. Every simple undirected graph with at least two vertices contains two vertices with the same degree. (Pigeonhole principle)

If a graph has a loop or a multiple edge, it is called a multigraph (multigraph).

Warning

In an undirected graph, (u,v)(u, v) and (v,u)(v, u) count as a set of multiple edges, whereas in a directed graph, u→vu \to v and v→uv \to u are not multiple edges.

Warning

Unless a problem explicitly says otherwise, loops and multiple edges may exist in a graph, and they must be handled carefully when solving the problem.

Degrees

The number of edges incident to a vertex vv is called its degree (degree), denoted by d(v)d(v). In particular, for an edge (v,v)(v, v), each such edge contributes 22 to d(v)d(v).

For a simple undirected graph, d(v)=∣N(v)∣d(v) = \left| N(v) \right|.

The handshake lemma, also called the fundamental theorem of graph theory, states that for every undirected graph G=(V,E)G = (V, E), ∑v∈Vd(v)=2∣E∣\sum_{v \in V} d(v) = 2 \left| E \right|.

Corollary: In every graph, the number of vertices with odd degree is even.

If d(v)=0d(v) = 0, then vv is called an isolated vertex (isolated vertex).

If d(v)=1d(v) = 1, then vv is called a leaf vertex (leaf vertex)/pendant vertex (pendant vertex).

If 2∣d(v)2 \mid d(v), then vv is called an even vertex (even vertex).

If 2∤d(v)2 \nmid d(v), then vv is called an odd vertex (odd vertex). The number of odd vertices in a graph is even.

If d(v)=∣V∣−1d(v) = \left| V \right| - 1, then vv is called a universal vertex (universal vertex).

For a graph, the minimum degree among all its vertices is called the minimum degree (minimum degree) of GG and denoted by δ(G)\delta (G); the maximum is called the maximum degree (maximum degree) and denoted by Δ(G)\Delta (G). That is, δ(G)=min⁡v∈Gd(v)\delta (G) = \min_{v \in G} d(v) and Δ(G)=max⁡v∈Gd(v)\Delta (G) = \max_{v \in G} d(v).

In a directed graph G=(V,E)G = (V, E), the number of edges starting at a vertex vv is called its out-degree (out-degree), denoted by d+(v)d^+(v). The number of edges ending at a vertex vv is called its in-degree (in-degree), denoted by d−(v)d^-(v). Clearly, d+(v)+d−(v)=d(v)d^+(v)+d^-(v)=d(v).

For every directed graph G=(V,E)G = (V, E), we have:

∑v∈Vd+(v)=∑v∈Vd−(v)=∣E∣\sum_{v \in V} d^+(v) = \sum_{v \in V} d^-(v) = \left| E \right|

If every vertex of an undirected graph G=(V,E)G = (V, E) has the same fixed degree kk, then GG is called a kk-regular graph (kk-regular graph).

If, given a sequence a, there exists a graph G whose degree sequence is a, then a is called graphical.

If, given a sequence a, there exists a simple graph G whose degree sequence is a, then a is called simply graphical.

Paths

Walk (walk): A walk is a sequence of edges joining a sequence of vertices, and may have finite or infinite length. Formally, a finite walk ww is a sequence of edges e1,e2,…,eke_1, e_2, \ldots, e_k for which there exists a vertex sequence v0,v1,…,vkv_0, v_1, \ldots, v_k satisfying ei=(vi−1,vi)e_i = (v_{i-1}, v_i) for i∈[1,k]i \in [1, k]. Such a walk can be abbreviated as v0→v1→v2→⋯→vkv_0 \to v_1 \to v_2 \to \cdots \to v_k. In general, the number of edges kk is called the length of the walk (if the edges are weighted, length usually means the sum of the edge weights along the walk, though a problem may define it differently).

Trail (trail): For a walk ww, if e1,e2,…,eke_1, e_2, \ldots, e_k are pairwise distinct, then ww is called a trail.

Path (path) (also called a simple path (simple path)): For a trail ww, if the vertices in its vertex sequence are pairwise distinct, then ww is called a path.

Circuit (circuit): For a trail ww, if v0=vkv_0 = v_k, then ww is called a circuit.

Cycle (cycle) (also called a simple circuit/simple cycle (simple circuit)): For a circuit ww, if v0=vkv_0 = v_k is the only pair of vertices repeated in the vertex sequence, then ww is called a cycle.

Warning

The definitions of path-related terms may differ from place to place. For example, ‘path’ may refer to the ‘walk’ defined in this article, and ‘cycle’ may refer to the ‘circuit’ defined here. When you encounter similar terminology in a problem without a special qualification such as ‘simple path’/‘non-simple path’ (that is, a ‘walk’ here), it is best to ask exactly which meaning is intended.

Subgraphs

For a graph G=(V,E)G = (V, E), if there is another graph H=(V′,E′)H = (V', E') satisfying V′⊆VV' \subseteq V and E′⊆EE' \subseteq E, then HH is called a subgraph (subgraph) of GG, written H⊆GH \subseteq G.

For H⊆GH \subseteq G, if for every ∀u,v∈V′\forall u, v \in V', whenever (u,v)∈E(u, v) \in E, we also have (u,v)∈E′(u, v) \in E', then HH is called an induced subgraph (induced subgraph) of GG.

It is easy to see that an induced subgraph is determined solely by the vertex set of the subgraph. Therefore, the induced subgraph with vertex set V′V'(V′⊆VV' \subseteq V) is called the subgraph induced by V′V', denoted by G[V′]G \left[ V' \right].

If H⊆GH \subseteq G and V′=VV' = V, then HH is called a spanning subgraph (spanning subgraph) of GG.

Clearly, GG is its own subgraph, spanning subgraph, and induced subgraph; the edgeless graph is a spanning subgraph of GG. The original graph GG and the edgeless graph are both trivial subgraphs of GG.

If a spanning subgraph FF of an undirected graph GG is a kk-regular graph, then FF is called a kk-factor (kk-factor) of GG.

If an induced subgraph H=G[V∗]H = G \left[ V^\ast \right] of a directed graph G=(V,E)G = (V, E) satisfies ∀v∈V∗,(v,u)∈E\forall v \in V^\ast, (v, u) \in E, we have u∈V∗u \in V^\ast, then HH is called a closed subgraph (closed subgraph) of GG.

Connectivity

Undirected graphs

For an undirected graph G=(V,E)G = (V, E) and u,v∈Vu, v \in V, if there is a walk with v0=u,vk=vv_0 = u, v_k = v, then uu and vv are connected (connected). By definition, every vertex is connected to itself, and the two endpoints of every edge are connected.

If every pair of vertices in an undirected graph G=(V,E)G = (V, E) is connected, then GG is called a connected graph (connected graph), and this property of GG is called connectivity (connectivity).

If HH is a connected subgraph of GG and there is no FF satisfying H⊊F⊆GH\subsetneq F \subseteq G such that FF is connected, then HH is a connected component (connected component) of GG (a maximal connected subgraph).

Directed graphs

For a directed graph G=(V,E)G = (V, E) and u,v∈Vu, v \in V, if there is a walk with v0=u,vk=vv_0 = u, v_k = v, then uu can reach vv. By definition, every vertex can reach itself, and the tail of every edge can reach its head. (Connectivity in an undirected graph can also be viewed as mutual reachability.)

If every pair of vertices in a directed graph can reach each other, then the graph is strongly connected (strongly connected).

If replacing every edge of a directed graph by an undirected edge produces a connected graph, then the original directed graph is weakly connected (weakly connected).

As with connected components, there are weakly connected components (weakly connected component) (maximal weakly connected subgraphs) and strongly connected components (strongly connected component) (maximal strongly connected subgraphs).

For related algorithms, see strongly connected components.

Cuts

For related algorithms, see cut vertices and bridges and biconnected components.

In this section, ‘connected’ for directed graphs generally means ‘strongly connected’.

For a connected graph G=(V,E)G = (V, E), if V′⊆VV'\subseteq V and G[V∖V′]G\left[V\setminus V'\right] (that is, the graph obtained by deleting the vertices in V′V' from GG) is not connected, then V′V' is a vertex cut (vertex cut/separating set) of GG. A vertex cut of size one is also called a cut vertex (cut vertex).

For a connected graph G=(V,E)G = (V, E) and an integer kk, if ∣V∣≥k+1|V|\ge k+1 and GG has no vertex cut of size k−1k-1, then GG is kk-vertex-connected (kk-vertex-connected). The largest kk for which this holds is called the vertex connectivity (vertex connectivity) of GG, denoted by κ(G)\kappa(G). (For a non-complete graph, vertex connectivity is the size of the smallest vertex cut, while the vertex connectivity of the complete graph KnK_n is n−1n-1.)

For a graph G=(V,E)G = (V, E) and u,v∈Vu, v\in V satisfying u≠vu\ne v, with uu and vv nonadjacent and uu able to reach vv, if V′⊆VV'\subseteq V, u,v∉V′u, v\notin V', and uu and vv are disconnected in G[V∖V′]G\left[V\setminus V'\right], then V′V' is called a vertex cut from uu to vv. The size of the smallest vertex cut from uu to vv is called the local connectivity (local connectivity) between uu and vv, denoted by κ(u,v)\kappa(u, v).

A similar definition can be made for edges:

For a connected graph G=(V,E)G = (V, E), if E′⊆EE'\subseteq E and G′=(V,E∖E′)G' = (V, E\setminus E') (that is, the graph obtained by deleting the edges in E′E' from GG) is not connected, then E′E' is an edge cut (edge cut) of GG. An edge cut of size one is also called a bridge (bridge).

For a connected graph G=(V,E)G = (V, E) and an integer kk, if GG has no edge cut of size k−1k-1, then GG is kk-edge-connected (kk-edge-connected). The largest kk for which this holds is called the edge connectivity (edge connectivity) of GG, denoted by λ(G)\lambda(G). (For any graph, edge connectivity is the size of the smallest edge cut.)

For a graph G=(V,E)G = (V, E) and u,v∈Vu, v\in V satisfying u≠vu\ne v, with uu able to reach vv, if E′⊆EE'\subseteq E and uu and vv are disconnected in G′=(V,E∖E′)G'=(V, E\setminus E'), then E′E' is called an edge cut from uu to vv. The size of the smallest edge cut from uu to vv is called the local edge-connectivity (local edge-connectivity) between uu and vv, denoted by λ(u,v)\lambda(u, v).

Biconnected (biconnected) is almost exactly the same as 22-vertex-connected, except that a graph consisting of two vertices joined by one edge is biconnected but is not 22-vertex-connected. In other words, a connected graph with no cut vertex is biconnected.

Edge-biconnected (22-edge-connected) is exactly the same as 22-edge-connected. In other words, a connected graph with no bridge is edge-biconnected.

As with connected components, there are biconnected components (biconnected component) (maximal biconnected subgraphs) and Edge-biconnected components (22-edge-connected component) (maximal edge-biconnected subgraphs).

Whitney's theorem: For any graph GG, κ(G)≤λ(G)≤δ(G)\kappa(G)\le \lambda(G)\le \delta(G). (The three quantities in the inequality are vertex connectivity, edge connectivity, and minimum degree, respectively.)

Sparse and dense graphs

If a graph has far fewer edges than the square of its number of vertices, it is a sparse graph (sparse graph).

If a graph has a number of edges close to the square of its number of vertices, it is a dense graph (dense graph).

These two concepts have no strict definitions. They are generally used to discuss the efficiency difference between algorithms with time complexity O(∣V∣2)O(|V|^2) and algorithms with O(∣E∣)O(|E|) complexity (the two algorithms have comparable efficiency on dense graphs, whereas the O(∣E∣)O(|E|) algorithm is significantly more efficient on sparse graphs).

Complement graphs

For an undirected simple graph G=(V,E)G = (V, E), its complement graph (complement graph) is the graph, denoted by Gˉ\bar G, satisfying V(Gˉ)=V(G)V \left( \bar G \right) = V \left( G \right) and, for every pair of vertices (u,v)(u, v), (u,v)∈E(Gˉ)(u, v) \in E \left( \bar G \right) if and only if (u,v)∉E(G)(u, v) \notin E \left( G \right).

Transpose graphs

For a directed graph G=(V,E)G = (V, E), its transpose graph (transpose graph) is the graph with the same vertex set and every edge reversed. In other words, if the transpose of GG is G′=(V,E′)G'=(V, E'), then E′={(v,u)∣(u,v)∈E}E'=\{(v, u)|(u, v)\in E\}.

Special graphs

If an undirected simple graph GG has an edge between every pair of distinct vertices, then GG is a complete graph (complete graph); the complete graph of order nn is denoted by KnK_n. If a directed graph GG has two oppositely directed edges between every pair of distinct vertices, then GG is a complete digraph (complete digraph).

A graph with an empty edge set is called an edgeless graph (edgeless graph), an empty graph (empty graph), or a null graph (null graph). An edgeless graph of order nn is denoted by K‾n\overline{K}_n or NnN_n. NnN_n and KnK_n are complements of each other.

Warning

Null graph (null graph) may also refer to an order-zero graph (order-zero graph) K0K_0, whose vertex and edge sets are both empty.

If a simple directed graph GG has exactly one directed edge between every pair of distinct vertices, then GG is called a tournament graph (tournament graph).

If all edges of an undirected simple graph G=(V,E)G = \left( V, E \right) form exactly one cycle, then GG is called a cycle graph (cycle graph). A cycle graph of order nn(n≥3n \geq 3) is denoted by CnC_n. It is easy to see that a graph is a cycle graph if and only if it is a connected 22-regular graph.

If an undirected simple graph G=(V,E)G = \left( V, E \right) has a vertex vv that is universal and no edges between any of the other vertices, then GG is called a star graph (star graph). A star graph of order n+1n + 1(n≥1n \geq 1) is denoted by SnS_n.

If an undirected simple graph G=(V,E)G = \left( V, E \right) has a vertex vv that is universal and the other vertices form a cycle, then GG is called a wheel graph (wheel graph). A wheel graph of order n+1n + 1(n≥3n \geq 3) is denoted by WnW_n.

If all edges of an undirected simple graph G=(V,E)G = \left( V, E \right) form exactly one simple path, then GG is called a chain/path graph (chain/path graph). A chain of order nn is denoted by PnP_n. It is easy to see that a chain is obtained by deleting one edge from a cycle graph.

If an undirected connected graph contains no cycle, then it is a tree (tree). For related content, see Basic tree algorithms.

If an undirected connected graph contains exactly one cycle, then it is a pseudotree (pseudotree).

If every vertex of a directed weakly connected graph has in-degree 11, then it is an outward-oriented pseudotree.

If every vertex of a directed weakly connected graph has out-degree 11, then it is an inward-oriented pseudotree.

Several trees can form a forest (forest); several pseudotrees can form a pseudoforest (pseudoforest); several outward-oriented pseudotrees can form a forest of outward-oriented pseudotrees; and several inward-oriented pseudotrees can form a forest of inward-oriented pseudotrees (functional graph).

If every edge of an undirected connected graph belongs to at most one cycle, then it is a cactus (cactus). Several cacti can form a desert.

If the vertex set of a graph can be divided into two parts with no edges within either part, then the graph is a bipartite graph (bipartite graph). If every pair of vertices in different parts of a bipartite graph is connected by an edge, then it is a complete bipartite graph (complete bipartite graph/biclique). A complete bipartite graph whose two parts contain nn and mm vertices is denoted by Kn,mK_{n, m}. For related content, see Bipartite graphs.

If a graph can be drawn on a plane with no two edges intersecting away from their endpoints, then it is a planar graph (planar graph). For a simple connected planar graph G=(V,E)G=(V, E) with V≥3V\ge 3, ∣E∣≤3∣V∣−6|E|\le 3|V|-6.
Kuratowski's theorem: A graph is planar if and only if it has no subgraph homeomorphic to K5K_5 or K3,3K_{3, 3}. Graphs GG and G′G' are homeomorphic if both can be transformed into the same graph by adding several degree-22 vertices1 on edges.

Isomorphism

For two graphs GG and HH, if there is a bijection f:V(G)→V(H)f : V(G) \to V(H) satisfying (u,v)∈E(G)(u,v)\in E(G) if and only if (f(u),f(v))∈E(H)(f(u),f(v))\in E(H), then ff is an isomorphism (isomorphism) from GG to HH, and graphs GG and HH are isomorphic (isomorphic), written G≅HG \cong H.

It follows from the definition that if G≅HG \cong H, then all of the following must hold:

  • ∣V(G)∣=∣V(H)∣,∣E(G)∣=∣E(H)∣|V(G)|=|V(H)|,|E(G)|=|E(H)|
  • GG and HH have the same nonincreasing sequence of vertex degrees
  • GG and HH have isomorphic induced subgraphs

Binary operations on undirected simple graphs

For undirected simple graphs, we can define the following binary operations:

Intersection (intersection): For graphs G=(V1,E1),H=(V2,E2)G = \left( V_1, E_1 \right), H = \left( V_2, E_2 \right), their intersection is defined as G∩H=(V1∩V2,E1∩E2)G \cap H = \left( V_1 \cap V_2, E_1 \cap E_2 \right).

It is easy to prove that the intersection of two undirected simple graphs is still an undirected simple graph.

Union (union): For graphs G=(V1,E1),H=(V2,E2)G = \left( V_1, E_1 \right), H = \left( V_2, E_2 \right), their union is defined as G∪H=(V1∪V2,E1∪E2)G \cup H = \left( V_1 \cup V_2, E_1 \cup E_2 \right).

Sum (sum)/direct sum (direct sum): For G=(V1,E1),H=(V2,E2)G = \left( V_1, E_1 \right), H = \left( V_2, E_2 \right), construct any H′≅HH' \cong H such that V(H′)∩V1=∅V \left( H' \right) \cap V_1 = \varnothing(H′H' may be equal to HH). Then any graph isomorphic to G∪H′G \cup H' is called the sum/direct sum/disjoint union of GG and HH, denoted by G+HG + H or G⊕HG \oplus H.

If the vertex sets of GG and HH are already disjoint, then G∪H=G+HG \cup H = G + H.

For example, a forest can be defined as the sum of several trees.

Difference between union and sum

The ‘union’ can be understood as merging vertices and edges with the same names in the two graphs, whereas the ‘sum’ does not.

Special vertex and edge sets

Dominating sets

For an undirected graph G=(V,E)G=(V, E), if V′⊆VV'\subseteq V and ∀v∈(V∖V′)\forall v\in(V\setminus V') there is an edge (u,v)∈E(u, v)\in E with u∈V′u\in V', then V′V' is a dominating set (dominating set) of GG.

The size of a smallest dominating set of an undirected graph GG is denoted by γ(G)\gamma(G). Finding a minimum dominating set of a graph is NP-hard.

For a directed graph G=(V,E)G=(V, E), if V′⊆VV'\subseteq V and ∀v∈(V∖V′)\forall v\in(V\setminus V') there is an edge (u,v)∈E(u, v)\in E with u∈V′u\in V', then V′V' is an out-dominating set (out-dominating set) of GG. Similarly, an in-dominating set (in-dominating set) can be defined for directed graphs.

The minimum size of an out-dominating set of a directed graph GG is denoted by γ+(G)\gamma^+(G), and the minimum size of an in-dominating set is denoted by γ−(G)\gamma^-(G).

Edge-dominating sets

For a graph G=(V,E)G=(V, E), if E′⊆EE'\subseteq E and ∀e∈(E∖E′)\forall e\in(E\setminus E') there is an edge in E′E' sharing an endpoint with it, then E′E' is an edge-dominating set (edge dominating set) of GG.

Finding a minimum edge-dominating set of a graph is NP-hard.

Independent sets

For a graph G=(V,E)G=(V, E), if V′⊆VV'\subseteq V and no two vertices in V′V' are adjacent, then V′V' is an independent set (independent set) of GG.

The size of a largest independent set of graph GG is denoted by α(G)\alpha(G). Finding a maximum independent set of a graph is NP-hard.

Matchings

For a graph G=(V,E)G=(V, E), if E′⊆EE'\subseteq E, every two distinct edges in E′E' have no common endpoint, and no edge in E′E' is a loop, then E′E' is a matching (matching) of GG, also called an independent edge set (independent edge set). If a vertex is an endpoint of an edge in the matching, it is called matched (matched)/saturated (saturated); otherwise, it is called unmatched (unmatched).

A matching with the largest number of edges is called a maximum-cardinality matching (maximum-cardinality matching) of a graph. The size of a maximum matching in graph GG is denoted by ν(G)\nu(G).

If the edges are weighted, a matching with the largest total weight is called a maximum-weight matching (maximum-weight matching) of a graph.

If adding any edge to a matching makes it no longer a matching, then the matching is a maximal matching (maximal matching). A largest maximal matching is a maximum matching, and every maximum matching is maximal. Every maximal matching is an edge-dominating set, but an edge-dominating set need not be a matching. A minimum maximal matching and a minimum edge-dominating set have the same size, but a minimum edge-dominating set need not be a matching. Finding a minimum maximal matching is NP-hard.

If every vertex is matched in a matching, then the matching is a perfect matching (perfect matching). If exactly one vertex is unmatched in a matching, then the matching is a near-perfect matching (near-perfect matching).

Counting the matchings or perfect matchings of an ordinary graph or a bipartite graph is #P-complete.

For a matching MM, if a path starts at an unmatched vertex and each pair of consecutive edges consists of one edge in the matching and one edge outside the matching, then the path is called an alternating path (alternating path); an alternating path that ends at an unmatched vertex is called an augmenting path (augmenting path).

Tutte's theorem: An undirected graph GG of order nn has a perfect matching if and only if, for every V′⊂V(G)V' \subset V(G), podd(G−V′)≤∣V′∣p_{\text{odd}}(G-V')\leq |V'|, where poddp_{\text{odd}} denotes the number of connected components of odd order.

Tutte's theorem (corollary): Every bridgeless 3-regular graph has a perfect matching.

Vertex covers

For a graph G=(V,E)G=(V, E), if V′⊆VV'\subseteq V and ∀e∈E\forall e\in E at least one endpoint of ee belongs to V′V', then V′V' is a vertex cover (vertex cover) of GG.

Every vertex cover is a dominating set, but a minimal vertex cover need not be a minimal dominating set.

A vertex set is a vertex cover if and only if its complement is an independent set; therefore, the complement of a minimum vertex cover is a maximum independent set. Finding a minimum vertex cover of a graph is NP-hard.

The size of any matching in a graph is no greater than the size of any vertex cover of that graph. In the complete bipartite graph Kn,mK_{n, m}, both the maximum matching size and the minimum vertex cover size are min⁡(n,m)\min(n, m).

Edge covers

For a graph G=(V,E)G=(V, E), if E′⊆EE'\subseteq E and ∀v∈V\forall v\in V, vv is adjacent to at least one edge in E′E', then E′E' is an edge cover (edge cover) of GG.

The size of a minimum edge cover is denoted by ρ(G)\rho(G). It can be obtained by greedily extending a maximum matching: for every unmatched vertex, add one incident edge to the maximum matching; the result is a minimum edge cover.

A maximum matching can also be obtained from a minimum edge cover: for every pair of edges in the minimum edge cover that share a vertex, delete one of them.

For a graph, the size of a minimum edge cover plus the size of a maximum matching equals the number of vertices, namely ρ(G)+ν(G)=∣V(G)∣\rho(G)+\nu(G)=|V(G)|.

For a graph, the size of a maximum matching is no greater than the size of a minimum edge cover, namely ν(G)≤ρ(G)\nu(G)\le\rho(G). In particular, a perfect matching is always a minimum edge cover, and it is the only case in which equality holds in the formula above.

The size of any independent set in a graph is no greater than the size of any edge cover of that graph. In the complete bipartite graph Kn,mK_{n, m}, both the maximum independent set size and the minimum edge cover size are max⁡(n,m)\max(n, m).

Cliques

For a graph G=(V,E)G=(V, E), if V′⊆VV'\subseteq V and every two distinct vertices in V′V' are adjacent, then V′V' is a clique (clique) of GG. The subgraph induced by a clique is a complete graph.

If adding any vertex to a clique makes it no longer a clique, then the clique is a maximal clique (maximal clique).

The size of a maximum clique in a graph is denoted by ω(G)\omega(G). It equals the size of a maximum independent set in its complement, namely ω(G)=α(Gˉ)\omega(G)=\alpha(\bar{G}). Finding a maximum clique in a graph is NP-hard.

References

OI Graph Transit Station - A review of graph theory concepts

Wikipedia (and the corresponding entries for related concepts)

Discrete Mathematics (Revised Edition), compiled by Tian Wencheng and Zhou Luxin, Tianjin Literature Press, pp. 184–187

Dai Yiqi, Hu Guanzhang, and Chen Wei. Graph Theory and Algebraic Structures [M]. Beijing: Tsinghua University Press, 1995.

Footnotes

  1. This operation is also called a subdivision (subdivision). ↩

This content comes from OI Wiki: Graph Theory Concepts. See the original for authors and revision history. AIOJ has adapted the formatting, in-site links, and resource paths.

Content is shared under CC BY-SA 4.0 and SATA license; additional terms are governed by the original notice. Thanks to the OI Wiki authors and contributors; per the SATA terms, please visit the OI Wiki repository and star it to show your support.