An introduction to more advanced topics in graph theory.
Preface
Since I have already encountered the basics of graph theory many times in courses such as discrete mathematics, circuit theory, and algorithms, I will not repeat the basic concepts here and treat them as prerequisites. Only the extended material is covered.
Review of Basic Concepts
- In general, ๐ฟ(๐บ) denotes the minimum degree of graph ๐บ, and ฮ(๐บ) denotes the maximum degree
- Induced subgraph: if ๐(๐บ) โ ๐(๐บโฒ) and ๐ธ(๐บ) โ ๐ธ(๐บโฒ), and moreover ๐ธ(๐บ) = ๐ธ (๐บโฒ) โฉ
, then ๐บ is an induced subgraph of ๐บโฒ - If in addition ๐(๐บ) = ๐(๐บโฒ), then ๐บ is a spanning subgraph of ๐บโฒ
- If every vertex in the graph has the same constant degree ๐, the graph is called ๐-regular (r-regular graph)
- Simple graph: an undirected graph with no self-loops and no multiple edges is called a simple graph.
- Handshaking theorem (Leonhard Euler 1736): given an undirected graph ๐บ = (๐, ๐ธ),
- Corollary: in an undirected graph, the number of vertices of odd degree is always even
Graph: Isomorphism and Score
Graph isomorphism: if for a graph ๐บ= ๐, ๐ธ and a graph Gโ=(Vโ, Eโ) there exists a bijection
Counting Graphs
The number of graphs on ๐ vertices is
โ each edge of the complete graph is either present or absent Any graph G=(V, E) is isomorphic to at most n! distinct graphs on V. From this we obtain the inequality
.
Graph Score
- Definition: the degree sequence
of a graph G is called the score of G. - Relation to graph isomorphism: isomorphic graphs necessarily have the same score. However, graphs with the same score are not necessarily isomorphic
- Existence: not every finite sequence can be the score of a graph. Whether a sequence is the score of some graph can be decided using the Score Theorem: let be a sequence of natural numbers with n>1 and , and let Dโ be the sequence where . Then D is a graph score if and only if Dโ is a graph score.
- Proof:
- if: add a vertex
to Dโ to construct D - only if: D can be transformed into an isomorphic graph such that the last
vertices are connected to ; deleting these edges yields Dโ
- if: add a vertex
Applications of Handshake lemma
โข Spernerโs lemma (Sperner, 1928): subdivide any n-dimensional simplex (๐-simplex) and color it with ๐+ 1 colors; then under any proper coloring scheme of the subdivided simplex, there must be a cell that contains all the distinct colors.
โข Planar Brouwerโs fixed point theorem: Every continuous function
โข Theorem (Smith): in a 3-regular graph, the number of Hamiltonian cycles containing any given edge ๐ is even.
Tree
Characterizations of Trees
- Tree-growing lemma: for a graph ๐บ and a leaf ๐ฃ of ๐บ, the following statements are equivalent
- G is a tree
- G - v is a tree
- Equivalent characterizations of a tree:
- II. Unique paths: for any two vertices u ,
, there exists a unique path from u to v. - III. Minimal connected graph: G is connected, and removing any single edge makes it disconnected.
- IV. Maximal acyclic graph: G contains no cycle, but adding any single edge yields a graph G+e (where
) that contains a cycle.
- IV. Maximal acyclic graph: G contains no cycle, but adding any single edge yields a graph G+e (where
- V. Eulerโs formula: G is connected and |V|=|E|+1
- II. Unique paths: for any two vertices u ,
Counting Trees
Two trees ๐, ๐โฒ are โequalโ if and only if the edge set of tree ๐ equals the edge set of tree ๐โฒ.
Cayleyโs Theorem
(Cayleyโs formula): there are
- Core proposition: let
be positive integers whose sum is . Then in the graph (the complete graph, in which every pair of the vertices is joined by an edge), the number of spanning trees in which vertex has degree exactly ( ) equals - Proof
- Base case: for n = 1, 2 the proposition clearly holds. When n = 1 the graph has only one vertex, which can be regarded as a degenerate tree; when n = 2 there is a single edge joining the two vertices, so there is only one tree shape, which agrees with the formula above.
- Inductive step (n > 2): since , by the handshaking theorem there must exist some i with ; without loss of generality let . For , define to be the set of spanning trees of that contain the edge . From each tree in , delete the vertex to obtain ; is a spanning tree of whose vertex degrees are
- By the induction hypothesis, we obtain , which can be rewritten as
- Since , after a series of algebraic manipulations, we sum over all tuples satisfying and , i.e. over all such , giving Let ; then and , and the expression becomes , which by the multinomial theorem equals . This proves that the number of distinct trees on n vertices is .
Tree Isomorphism
Rooted Tree Isomorphism
Definition: ๐, ๐ โ โฒ (๐โฒ, ๐โฒ):
- ๐: ๐(๐) โ ๐(๐โฒ) is an isomorphism ๐ โ ๐โฒ,
- ๐(๐) = ๐โฒ
- The relation โ โฒ is strictly stronger than the relation โ .
Using an encoding, one proves that if and only if they have the same encoding.

Proof:
โ Sufficiency: follows from the definition of rooted tree isomorphism and the encoding.
โ Necessity: decode, i.e., recover the original tree structure from the encoding.
The encoding of any rooted tree necessarily has the general form 0๐1, where
๐1 is the shortest prefix of ๐ with equal numbers of 0s and 1s, ๐2 is the second shortest 0/1-balanced prefix, and so on.
The rooted tree can be recovered from this, and clearly such rooted trees must be isomorphic.
Unrooted Tree Isomorphism
Problem reduction: general tree isomorphism โ rooted tree isomorphism
โข Distance: for two vertices u ,v in a graph G, disc(1,1) denotes the length of the shortest path between ๐ข, ๐ฃ.
โข Eccentricity: for a graph ๐บ and a vertex ๐ฃ in it, the eccentricity is defined as:
โข Center: the set of vertices of graph ๐บ with the minimum eccentricity is called the center, denoted by ๐ถ(๐บ).
Property: for a tree ๐ = (๐, ๐ธ), ๐ถ(๐) contains at most 2 vertices. Moreover, if ๐ถ(๐) = ๐ฅ, ๐ฆ , then ๐ฅ, ๐ฆ โ ๐ธ
If ๐ถ(๐) contains only a single vertex ๐ฃ: output the encoding #(๐ป, ๐) of the rooted tree (๐, ๐ฃ).
โข ๐ถ(T) = {๐ฅ1, ๐ฅ2}: let ๐ = {๐ฅ1, ๐ฅ2}
๐ โ ๐: has exactly two connected components ๐1, ๐2. Without loss of generality let ๐ฅ1 โ ๐(๐1), ๐ฅ2 โ ๐(๐2).
- Compute #(๐1, ๐ฅ1) and #(๐2, ๐ฅ2)
- If #(๐1, ๐ฅ1) โค #(๐2, ๐ฅ2), output #(๐ป, ๐๐)
- Otherwise, output # (๐ป, ๐๐)
The proof then proceeds as for the rooted tree encoding.
Translated from the Chinese original.

