Part I · Foundations

The Basics

Created by

A graph is a set of dots and a set of connections between pairs of dots. Nothing else. After this chapter you will be able to read the notation used in every later chapter, measure a network in half a dozen different ways, and prove the theorem that started the subject in 1736.

Why dots and lines are enough

Throw away the geography of a subway map and keep only which stations are joined by a direct segment of track. What survives is a graph: things, called vertices, plus a record of which pairs are linked, called edges. It carries no distances, directions, weights, or positions.

a b c d e N stations where they actually stand 4.2 km 18 min distances, minutes, north none of it survives keep only which pairs are joined a b c d e which pairs are joined same edge 5 vertices, 6 edges, nothing else
Figure 1.1. The same five stations twice. On the left they stand where they really stand, and the drawing still carries distances, journey times and a compass; on the right only the joins are kept. What survives is a graph \(G = (V,E)\) with \(V = \{a,b,c,d,e\}\) and \(E = \{ab, ac, bd, cd, ce, de\}\), so \(|G| = 5\) and \(\|G\| = 6\). Its dots are the vertices and its lines the edges. The violet link \(ce\) is one edge drawn two ways: the bend on the left is real track, which the graph discards, and moving a dot changes nothing about the graph.
C C O H H H H H H ethanol, bond angles kept the angles decide how it reacts C C O H H H H H H atoms and bonds only 9 atoms, 8 bonds
Figure 1.2. Ethanol, \(\mathrm{CH_3CH_2OH}\), before and after the same discard. On the left the bonds sit at their real angles, and those angles shape how the molecule packs and how it reacts. On the right only the atoms and the pairs that are bonded remain: 9 vertices, 8 edges. Chemical databases store something close to the right-hand picture, which is why searching for a compound is a question about graphs rather than about drawings.

The chapter's larger job is vocabulary: graphs, degree, paths, connectivity, trees, bipartite graphs, minors, and Euler tours build the language the rest of the book speaks. The second job arrives near the end, where the cycles and the cuts of a graph turn out to be two vector spaces, each the orthogonal complement of the other. Underneath both sits one habit of thought: graph theory defines numerical measurements, called invariants, then asks how one forces another. Almost every theorem here has that shape, a number on the left and a structure you are guaranteed to find on the right.

One warning first. Diestel writes the complete graph on \(n\) vertices as \(K^n\), index raised, where most books write \(K_n\); likewise for \(P^k\) and \(C^k\). The subscript slot is kept free for counting, so \(C_1, C_2, C_3\) can name three cycles while \(C^5\) names the cycle of length five. If the set language below is unfamiliar, Chapter 0 teaches it from scratch.

A transit network is recorded as nothing but a list of which pairs of stations are joined by a direct segment of track. Which question can still be answered from that record alone?

  1. Whether some route runs from station A to station B
  2. How many minutes the trip from A to B takes
  3. Which station lies farthest north
  4. Which segment carries the most passengers
Answer: A. Reachability is built entirely out of "which pairs are linked", so it survives the abstraction. Travel times, compass positions and passenger loads are exactly the distances, coordinates and weights a graph throws away.

New notation in this chapter

This is the densest notation table in the course, because almost every symbol in the book is introduced here. Skim it now and return to it as a reference; the sections below reintroduce each symbol in context, with examples.

Five notation traps
  1. One bar counts dots, two bars count lines: \(|G|\) is the order, \(\|G\|\) is the size.
  2. \(\lfloor\;\rfloor\) and \(\lceil\;\rceil\) round a number but close a vertex, and the shapes point the wrong way: \(\lceil y \rceil\) is the down-closure, \(\lfloor x \rfloor\) the up-closure.
  3. The indices ride high, and a raised index is not a power. On \(K^n\) it counts vertices; on \(P^k\) it counts edges.
  4. In \(x := y\) the colon sits on the side being named, so \(\varepsilon(G) := \|G\|/|G|\) names \(\varepsilon\), not the fraction.
  5. The letter \(d\) works three shifts: \(d(v)\) a degree, \(d(G)\) an average, \(d(x,y)\) a distance. Only what sits inside the brackets tells them apart.
x a b c m n p y single bars: |G| = 8 dots double bars: ||G|| = 10 lines d(x) = 4 4 2 3 2 2 3 2 2 d(G) = 20/8 = 2.5 d(x,y) = 3 one letter, three jobs: 4, then 2.5, then 3
Figure 1.3. One graph, read five ways. Single bars count vertices, so \(|G| = 8\); double bars count edges, so \(\|G\| = 10\). The letter \(d\) then takes three different arguments on this same picture: a vertex gives a degree, \(d(x) = 4\) (violet); the graph itself gives the average degree, \(d(G) = 20/8 = 2.5\) (gold); and a pair of vertices gives a distance, \(d(x,y) = 3\), counted along the shortest route from \(x\) through \(m\) and \(n\) to \(y\) (green). Only what stands inside the brackets tells the three apart. The same graph has \(\delta(G) = 2\), \(\Delta(G) = 4\) and \(\varepsilon(G) = 1.25\), which is half the average degree.
SymbolRead it asMeaningTiny example
\(\mathbb{N}\)"the natural numbers"The counting numbers including zero. Some books exclude 0; this one does not.\(0 \in \mathbb{N}\).
\(\mathbb{F}_2\)"the field with two elements"The number system \(\{0,1\}\) with arithmetic done modulo 2, so \(1+1=0\).Used for every vector space in the last big section.
\(\lfloor x \rfloor\), \(\lceil x \rceil\)"floor of x", "ceiling of x"Round a number down, round a number up.\(\lfloor 2.7 \rfloor = 2\), \(\lceil 2.1 \rceil = 3\).
\([A]^k\)"the k-subsets of A"The set of all subsets of \(A\) with exactly \(k\) elements.\([\{1,2,3\}]^2 = \{\{1,2\},\{1,3\},\{2,3\}\}\).
\(x := y\)"x is defined to be y"A definition, not an equation to be solved. The colon sits on the side being named.\(\varepsilon(G) := \|G\|/|G|\).
\(G = (V,E)\)"the graph G with vertices V and edges E"A graph is a pair of sets: dots, and unordered pairs of distinct dots.\(G = (\{1,2,3\},\{\{1,2\},\{2,3\}\})\).
\(V(G)\), \(E(G)\)"the vertices of G", "the edges of G"Always written this way, whatever letters were used to define the graph.If \(H=(W,F)\), its vertex set is still \(V(H)\).
\(|G|\)"the order of G"How many vertices \(G\) has. Single bars count dots.\(|K^5| = 5\).
\(\|G\|\)"the size of G"How many edges \(G\) has. Double bars count links.\(\|K^5\| = 10\).
\(xy\)"the edge from x to y"Shorthand for the edge \(\{x,y\}\). Since the pair is unordered, \(xy = yx\).The triangle has edges \(ab, bc, ca\).
\(K^n\)"K n", the complete graph\(n\) vertices with every possible edge present. \(K^3\) is a triangle. Note the raised index.\(\|K^4\| = \binom{4}{2} = 6\).
\(G \simeq H\)"G is isomorphic to H"Same graph after renaming the vertices. Diestel often just writes \(=\).Any two triangles are isomorphic.
\(G' \subseteq G\)"G prime is a subgraph of G"Every vertex and every edge of \(G'\) is also in \(G\).Every path in \(G\) is a subgraph of \(G\).
\(G[U]\)"G induced on U"Keep the vertices in \(U\) and all edges of \(G\) with both ends in \(U\).In a triangle \(abc\), \(G[\{a,b\}]\) is the single edge \(ab\).
\(G - U\), \(G - v\)"G minus U", "G minus v"Delete those vertices and every edge touching them.Deleting a star's centre leaves lone vertices.
\(G - e\), \(G + e\)"G minus e", "G plus e"Remove or add one edge, keeping every vertex in place.\(C^4 + e\) with \(e\) a diagonal is a square with a chord.
\(G \cup G'\), \(G \cap G'\)"G union G prime", "G intersect G prime"Take unions (or intersections) of both the vertex sets and the edge sets.\(G \cap G' = \emptyset\) means the two graphs are disjoint.
\(G * G'\)"the join of G and G prime"Two disjoint graphs plus every edge running between them.\(K^2 * K^3 = K^5\).
\(\overline{G}\)"the complement of G"Same vertices; two are joined exactly when they were not joined in \(G\).\(\overline{K^n}\) has no edges at all.
\(L(G)\)"the line graph of G"Its vertices are the edges of \(G\); two are joined when those edges share an end.\(L(K^3) = K^3\).
\(E(X,Y)\), \(E(v)\)"the edges between X and Y", "the edges at v"Edges with one end in \(X\) and the other in \(Y\); edges touching the single vertex \(v\).\(d(v) = |E(v)|\).
\(N(v)\), \(N(U)\)"the neighbourhood of v", "of U"The vertices joined to \(v\) by an edge. For a set \(U\), the vertices outside \(U\) with a neighbour inside it.In \(K^4\), \(|N(v)| = 3\) for every \(v\).
\(d(v)\)"the degree of v"How many edges touch \(v\); equivalently, how many neighbours it has.An isolated vertex has \(d(v)=0\).
\(\delta(G)\)"delta of G", the minimum degreeThe smallest degree anywhere in \(G\).\(\delta(C^5) = 2\).
\(\Delta(G)\)"big delta of G", the maximum degreeThe largest degree anywhere in \(G\).\(\Delta(K_{1,n}) = n\).
\(d(G)\)"the average degree of G"The degrees added up and divided by the number of vertices. Always \(\delta \le d \le \Delta\).Every cycle has \(d(G) = 2\).
\(\varepsilon(G)\)"epsilon of G", the edge densityEdges per vertex, \(\|G\|/|G|\). It always equals half the average degree.A tree on \(n\) vertices has \(\varepsilon = (n-1)/n\).
\(P^k\)"P k", the path of length kA path with \(k\) edges, hence \(k+1\) vertices. The index is the edge count.\(P^2\) has 3 vertices.
\(xPy\), \(\mathring{P}\)"the piece of P from x to y", "P without its ends"Names a stretch of a path. The small ring strips off the end vertices.If \(P = abcde\) then \(bPd = bcd\) and \(\mathring{P} = bcd\).
\(C^k\)"C k", the cycle of length kA round trip through \(k\) distinct vertices, using \(k\) edges. Needs \(k \ge 3\).\(C^3 = K^3\), the triangle.
\(g(G)\)"the girth of G"The length of the shortest cycle; \(\infty\) if there is no cycle.\(g(K^4) = 3\); any tree has \(g = \infty\).
\(d(x,y)\)"the distance from x to y"The number of edges on a shortest path between them; \(\infty\) if no path exists.Opposite corners of \(C^6\) are at distance 3.
\(\operatorname{diam}(G)\)"the diameter of G"The largest distance between any two vertices: the worst case.\(\operatorname{diam}(K^n) = 1\) for \(n \ge 2\).
\(\operatorname{rad}(G)\)"the radius of G"Stand at the best-placed vertex; the radius is how far the farthest vertex still is.A star has radius 1 and diameter 2.
\(\{A,B\}\)"a separation of G"Two vertex sets covering \(V\) with no edge crossing between the parts outside their overlap. Its order is \(|A \cap B|\).A cutvertex \(v\) gives a separation with \(A \cap B = \{v\}\).
\(\kappa(G)\)"kappa of G", the connectivityThe largest \(k\) with \(|G| > k\) such that no removal of fewer than \(k\) vertices breaks the graph apart.\(\kappa(K^n) = n-1\).
\(\lambda(G)\)"lambda of G", the edge-connectivityThe same idea counting edges: how many links must be cut to disconnect it.\(\lambda(C^n) = 2\); a bridge forces \(\lambda = 1\).
\(xTy\)"the tree path from x to y"In a tree there is exactly one path between any two vertices, and this names it.In a star with centre \(c\), \(xTy = xcy\).
\(x \le y\)"x lies below y in the tree"In a tree with a chosen root, \(x\) sits on the path from the root up to \(y\).The root lies below every vertex.
\(\lceil y \rceil\)"the down-closure of y"The vertex \(y\) plus everything on its path back to the root. Nothing to do with ceilings of numbers.For a leaf \(y\), this is the whole root-to-\(y\) path.
\(\lfloor x \rfloor\)"the up-closure of x"The vertex \(x\) plus everything hanging above it: its subtree.\(\lfloor r \rfloor = V(T)\) for the root \(r\).
\(K_{n_1,\dots,n_r}\)"the complete r-partite graph"Vertices split into \(r\) groups of the stated sizes; two vertices are joined exactly when they are in different groups.\(K_{3,3}\) is the three-houses-three-utilities graph.
\(K_s^r\)"K s upper r"The balanced case: \(r\) groups, each of size \(s\).\(K_2^3 = K_{2,2,2}\) is the octahedron.
\(K_{1,n}\)"the star with n leaves"One centre joined to \(n\) other vertices and nothing else.\(K_{1,3}\) is called the claw.
\(TX\)"a subdivision of X"Take \(X\) and redraw some edges as longer paths with new vertices on them. The letter T stands for topological.\(C^{17}\) is a subdivision of the triangle.
\(IX\)"an inflated X"Take \(X\) and blow each vertex up into a connected blob, keeping at least one edge between blobs that were joined.Three connected blobs, pairwise joined, form an \(IK^3\).
\(X \preccurlyeq Y\)"X is a minor of Y"Some subgraph of \(Y\) is an inflated copy of \(X\).\(K^5 \preccurlyeq\) the Petersen graph.
\(G/e\), \(G/P\)"G contract e", "G contract the partition P"Merge the two ends of the edge \(e\) into one new vertex; more generally squash each class of \(P\) to a point.\(C^4/e = C^3\) for any edge \(e\).
\(\mathcal{E}(G)\), \(\mathcal{V}(G)\)"the edge space", "the vertex space"All sets of edges (or of vertices), treated as vectors. Adding two sets means keeping exactly what lies in one of them but not both.\(F + F = \emptyset\) for every edge set \(F\).
\(\langle F, F' \rangle\)"the inner product of F and F prime"0 when the two edge sets share an even number of edges, 1 when they share an odd number.Any set of even size is orthogonal to itself.
\(\mathcal{F}^{\perp}\)"F perp", the orthogonal complementEverything that meets every member of \(\mathcal{F}\) in an even number of edges.The cycle space and cut space are each other's perp.
\(\mathcal{C}(G)\)"the cycle space of G"All edge sets you can build by adding cycles together.For connected \(G\), its dimension is \(\|G\| - |G| + 1\).
\(\mathcal{B}(G)\)"the cut space of G"All edge sets that cross a split of the vertices into two parts, plus the empty set.For connected \(G\), its dimension is \(|G| - 1\).
\(C_e\), \(D_f\)"the fundamental cycle of e", "the fundamental cut of f"Fix a spanning tree. Each non-tree edge closes exactly one cycle; each tree edge splits the tree and defines one cut.\(f \in C_e\) happens exactly when \(e \in D_f\).
\(A\), \(B\), \(D\)"adjacency, incidence, degree matrix"\(A\) records which pairs of vertices are joined; \(B\) records which vertices lie on which edges; \(D\) lists the degrees down its diagonal.\(BB^{\top} = A + D\).
\(\operatorname{init}(e)\), \(\operatorname{ter}(e)\)"the initial and terminal vertex of e"In a directed graph, where the arrow starts and where it points.A one-way street from junction \(x\) to junction \(y\).

Using the table only, what is the edge density \(\varepsilon(K^4)\)?

  1. 3
  2. 4
  3. 1.5
  4. 6
Answer: C. The table defines \(\varepsilon(G) := \|G\|/|G|\), and \(K^4\) has \(\binom{4}{2} = 6\) edges on 4 vertices, so \(6/4 = 1.5\). Option A is the tempting miss: 3 is the average degree, which is always twice \(\varepsilon\).

Graphs and how to draw them

Everything starts with one definition, and that definition quietly makes three modelling decisions on your behalf.

Definition — graph

A graph is a pair \(G = (V, E)\) of sets where \(E \subseteq [V]^2\): every element of \(E\) is a two-element subset of \(V\). The elements of \(V\) are the vertices, those of \(E\) the edges. Plainly: dots, plus a list of which pairs are joined. The two vertices in an edge are its ends, and a vertex is incident with an edge when it is one of them.[1]

u v u v 1. no directions a set is unordered refused legal v v w 2. no self-loops {v,v} has one element u v u v 3. no repeated edges equal sets are one set one definition, three modelling decisions made for you
Figure 1.4. What \(E \subseteq [V]^2\) refuses, and what it keeps in each case. Top row, struck out in gold: a direction on the edge, a loop at \(v\), and a second copy of an edge that is already there. Bottom row, in green: the only versions the definition admits. Each ban falls out of one property of sets. \(\{u,v\} = \{v,u\}\), so there is no direction left to record; \(\{v,v\}\) has one element rather than two, so it is not a member of \([V]^2\) at all; and equal sets are the same set, so a duplicated edge has nowhere to live. A book that keeps all three of these calls the stripped-down version simple.

Two counts come up constantly. The order \(|G|\) is the number of vertices, single bars; the size \(\|G\|\) is the number of edges, double bars. A graph of order 0 or 1 is trivial.

1 2 5 7 3 4 6 one piece of four vertices a second piece isolated
Figure 1.5. A graph with \(V(G) = \{1,\dots,7\}\) and \(E(G) = \{12, 15, 25, 34, 57\}\), so \(|G| = 7\) and \(\|G\| = 5\). Vertex 6 (gold) touches no edge, so it is isolated, and the graph falls into three pieces. Degrees: \(d(5) = 3\), \(d(1) = d(2) = 2\), \(d(3) = d(4) = d(7) = 1\), \(d(6) = 0\).
a b c d drawn with no crossing a b c d drawn with a crossing
Figure 1.6. One graph, two drawings. Both have vertex set \(\{a,b,c,d\}\) and edge set \(\{ab, bc, cd, da\}\), so they are the same graph; the crossing on the right is an accident of where the dots were placed. Whether a graph can be drawn without crossings is a real question, answered in Chapter 4.

Two vertices joined by an edge are adjacent, or neighbours. Two edges are adjacent when they share an end. A set of vertices no two of which are adjacent is independent. The opposite extreme has its own name.

Definition — complete graph \(K^n\)

A graph is complete if every two of its vertices are adjacent. The complete graph on \(n\) vertices is \(K^n\), and \(K^3\) is a triangle. Since it uses every available pair, \(\|K^n\| = \binom{n}{2} = \tfrac{1}{2}n(n-1)\), read "n choose 2".[1]

3 vertices, 3 edges 4 vertices, 6 edges 5 vertices, 10 edges a b c w x y z 1 2 3 4 5
Figure 1.7. The complete graphs \(K^3\), \(K^4\) and \(K^5\), of sizes 3, 6 and 10. Every vertex of \(K^n\) is adjacent to all \(n-1\) others, and the crossings in the \(K^5\) drawing are unavoidable, as Chapter 4 proves.

When are two graphs "the same"? If one becomes the other by renaming vertices, we write \(G \simeq G'\) and call them isomorphic: formally, a one-to-one correspondence \(\varphi\) between the vertex sets with \(xy\) an edge of \(G\) exactly when \(\varphi(x)\varphi(y)\) is an edge of \(G'\). Diestel usually writes \(=\) here. A graph property is any statement surviving renaming, such as "contains a triangle"; a graph invariant is any number surviving renaming, and invariants are the measurements this book compares.

Subgraphs, induced subgraphs, and the other operations

Definition — subgraph and induced subgraph

\(G' = (V', E')\) is a subgraph of \(G = (V,E)\), written \(G' \subseteq G\), if \(V' \subseteq V\) and \(E' \subseteq E\); it is induced if it also keeps every edge of \(G\) with both ends in \(V'\), written \(G[U]\), and spanning if it uses all of \(V\). Plainly: a subgraph picks some dots and some lines between them; an induced subgraph must take every line between the dots it picks.[1]

u v w x the host graph G u v w induced: G on u, v, w u v w a subgraph, not induced
Figure 1.8. Left: the host \(G\), a triangle \(uvw\) with a pendant vertex \(x\). Middle: \(G[\{u,v,w\}]\), which must keep all three violet edges. Right: the graph on \(u,v,w\) with edges \(uv, vw\) only, a legal subgraph that is not induced, because it drops the faded edge \(uw\).

Five more operations complete the toolkit. Vertex deletion \(G - U\) removes those vertices and every edge touching them; edge deletion \(G - F\) removes edges only, and \(G + F\) adds them. The join \(G * G'\) adds every edge between two disjoint graphs, so \(K^2 * K^3 = K^5\); the complement \(\overline{G}\) flips every adjacency; and the line graph \(L(G)\) turns the edges of \(G\) into vertices, joined whenever those edges shared an end.

Common mistake

Three notation traps. First, \(|G|\) counts vertices and \(\|G\|\) counts edges: easy to misread at speed. Second, for an edge \(e = uv\), \(G - e\) deletes the edge and keeps both ends, whereas \(G - u - v\) deletes the two vertices and every edge touching them. Third, a plain subgraph may drop edges, so "contains a triangle" and "contains an induced 4-cycle" are different claims.

The definition insists that every edge is a two-element subset of \(V\). Which of these does that requirement not rule out?

  1. An edge from a vertex to itself
  2. Two separate edges joining the same pair of vertices
  3. An edge running from \(u\) to \(v\) but not from \(v\) to \(u\)
  4. Two edges that cross when the graph is drawn on paper
Answer: D. A set is unordered, has no repeated elements, and is equal to any set with the same members, which bans directions, loops and duplicate edges in one stroke. A crossing is a fact about one drawing, not about the graph.

Let \(G\) have vertices \(u,v,w,x\), with \(uvw\) a triangle and \(x\) joined only to \(u\). Let \(H\) have vertices \(u,v,w\) and edges \(uv, vw\) only. Which is true?

  1. \(H\) is an induced subgraph of \(G\)
  2. \(H\) is a subgraph of \(G\), but not an induced one
  3. \(H\) is not a subgraph of \(G\) at all
  4. \(H\) is a spanning subgraph of \(G\)
Answer: B. Every vertex and edge of \(H\) lies in \(G\), so it is a subgraph, but \(G[\{u,v,w\}]\) is obliged to keep \(uw\) as well. Spanning would require \(H\) to use all four vertices of \(G\).

Degree: counting at a single vertex

The simplest measurement of a network is local: stand at one dot and count the lines leaving it.

Definition — neighbourhood and degree

The neighbourhood \(N(v)\), read "the vertices joined to \(v\) by an edge", is the set of vertices adjacent to \(v\), and the degree \(d(v)\) is the number of edges at \(v\), which here equals \(|N(v)|\). A vertex of degree 0 is isolated. For a set \(U\), \(N(U)\) means the vertices outside \(U\) with a neighbour inside it.[2]

From those local counts come four global numbers: the minimum degree \(\delta(G)\), the maximum degree \(\Delta(G)\), the average degree \(d(G)\), which divides the degree total by \(|G|\), and the edge density \(\varepsilon(G) := \|G\|/|G|\), which is half the average degree. Always \(\delta(G) \le d(G) \le \Delta(G)\). A graph is \(k\)-regular when every degree equals \(k\), and cubic when \(k=3\).

p q r s t degree 3 degree 1 degree 2 degree 2 degree 2 3 + 2 + 2 + 2 + 1 = 10 = twice the 5 edges
Figure 1.9. A graph with \(V = \{p,q,r,s,t\}\) and \(E = \{pq, pr, ps, qr, st\}\). The degrees add up to \(3+2+2+2+1 = 10\), twice the number of edges, and exactly two vertices have odd degree: \(p\) in violet and \(t\) in gold. Here \(\delta = 1\), \(\Delta = 3\), \(d(G) = 2\), \(\varepsilon(G) = 1\).
Theorem — the degree-sum identity and the handshake corollary

For every graph, \(\|G\| = \tfrac{1}{2}\sum_{v \in V} d(v)\). Consequently the number of vertices of odd degree is always even.[2]

Proof idea, pure bookkeeping. Count the pairs made of an edge together with one of its ends: vertex by vertex the total is \(\sum_v d(v)\), edge by edge it is \(2\|G\|\). The total is therefore even, and a sum of whole numbers is even only if an even number of its terms are odd.

Intuition

At any party, count how many hands each person shook. The total is even, because every handshake was counted twice, so the people who shook an odd number of hands come in pairs. That gives an instant sanity check: no graph has exactly three vertices of degree 3 and everything else even.

The second result converts a statement about an average into one about every single vertex.

Theorem — dense cores exist (Diestel, Proposition 1.2.2)

Every graph with at least one edge contains a subgraph \(H\) with \(\delta(H) > \varepsilon(H) \ge \varepsilon(G)\): however lopsided the graph, you can peel it to a core in which every vertex has more connections than the original edges-per-vertex figure.[2]

Proof idea. Repeatedly delete any vertex whose degree is at most the current edge density. Each deletion costs one vertex and at most \(\varepsilon\) edges, so the ratio never falls, and the process cannot run to the end. When it halts, no deletable vertex remains, which is exactly \(\delta(H) > \varepsilon(H)\).

Common mistake

\(N(U)\) does not contain \(U\): it is the crowd on the boundary of \(U\), and \(N(v)\) never contains \(v\). Also keep \(d(v)\), one vertex's degree, apart from \(d(G)\), the average, and \(d(x,y)\), a distance. The letter \(d\) works three shifts.

In the real world

Degrees are rarely spread evenly: many real contact networks have a few very high-degree hubs and a long tail of low-degree vertices. Pastor-Satorras and Vespignani showed that on such heavy-tailed networks the classical epidemic threshold disappears, so an infection can persist even at arbitrarily low transmission rates, a result they support with computer-virus data.[12] Interventions aimed at hubs therefore pay off out of proportion to their number.

Which of these degree lists is impossible for a graph?

  1. \(1, 1, 1, 3\)
  2. \(3, 3, 3, 3\)
  3. \(1, 2, 2, 3, 3\)
  4. \(1, 1, 2, 2, 2\)
Answer: C. It has three vertices of odd degree, and the degree-sum identity forces that count to be even; equivalently its total of 11 is odd, so it cannot be twice a whole number of edges. The others are the star \(K_{1,3}\), \(K^4\), and a path.

Paths, cycles, and distance

Definition — path

A path is a graph with distinct vertices \(x_0, \dots, x_k\) and edges \(x_0x_1, \dots, x_{k-1}x_k\). Its length is its number of edges, so \(P^k\) has \(k\) edges and \(k+1\) vertices; \(x_0\) and \(x_k\) are its ends, the others inner vertices. A path is itself a graph, and the clause that matters is that its vertices are all distinct.[3]

Diestel gives paths a compact naming system. Write \(P = x_0x_1\dots x_k\); then \(x_iPx_j\) is the stretch between those vertices, and a small ring strips off ends, so if \(P = abcde\) then \(\mathring{P} = bcd\), as does \(bPd\). An expression like \(PxQyR\) means "along \(P\) to \(x\), along \(Q\) to \(y\), then along \(R\)".

Two more path types get names because separation arguments need them. An \(A\)–\(B\) path meets \(A\) only in its first vertex and \(B\) only in its last. Paths are independent when none contains an inner vertex of another, the notion Menger's theorem needs in Chapter 3.

Definition — cycle, girth, chord

Take a path \(x_0 \dots x_{k-1}\) with \(k \ge 3\) and add the edge \(x_{k-1}x_0\): the result is a cycle \(C^k\), with \(k\) vertices, \(k\) edges and length \(k\). The girth \(g(G)\) is the length of a shortest cycle, \(\infty\) when there is none; the circumference is the length of a longest, 0 when there is none. A chord joins two vertices of a cycle without being one of its edges, and a chordless cycle is induced.[3]

v1 v2 v3 v4 v5 v6 v7 v8 the chord v1 v6 girth drops to 4
Figure 1.10. The eight-cycle \(C^8\) plus the gold chord \(v_1v_6\). The chord splits the octagon into \(v_1v_2v_3v_4v_5v_6v_1\), a \(C^6\), and \(v_1v_6v_7v_8v_1\), a \(C^4\), both induced. For the whole picture the girth is 4 and the circumference is 8.
Definition — distance, diameter, radius

The distance \(d(x,y)\) is the length of a shortest \(x\)–\(y\) path, \(\infty\) if there is none, and the diameter \(\operatorname{diam}(G)\) is the largest distance in \(G\). The radius \(\operatorname{rad}(G)\) is \(\min_x \max_y d(x,y)\): pick the best-placed vertex, called central, and measure how far the farthest vertex still is. The radius answers "where should the fire station go?"[3]

z l1 l2 l3 l4 l5 star: radius 1, diameter 2 a b c d e path: radius 2, diameter 4
Figure 1.11. Central vertices are violet, a farthest-apart pair gold. Left: in the star \(K_{1,5}\) the centre \(z\) reaches everything in one step, so \(\operatorname{rad} = 1\), while \(l_2\) and \(l_5\) are two apart, so \(\operatorname{diam} = 2\). Right: in \(P^4\), \(\operatorname{rad} = 2\) at \(c\) and \(d(a,e) = 4\).
a b c h e d i f g worst trip from a 4 roads from e, nothing sits more than 2 roads away 4 3 4 3 2 3 4 3 4 each number: the worst trip out of that town radius 2 at e, diameter 4 from a to g
Figure 1.12. Nine towns, eight roads, one fire station to place. The crossroads \(e\) meets the four side towns \(b, d, f, h\), and each of those carries one road out to a corner village, \(a, c, g\) or \(i\). The gold trip \(abefg\) costs four roads and no pair is worse, so \(\operatorname{diam}(G) = 4\); the dashed rings show every town within two roads of \(e\), the only vertex with that worst case, so \(\operatorname{rad}(G) = 2\) and \(e\) is central.

Those two numbers are locked together. Clearly \(\operatorname{rad}(G) \le \operatorname{diam}(G)\). In the other direction, route any trip from \(x\) to \(y\) through a central vertex \(z\), costing at most \(d(x,z) + d(z,y) \le 2\operatorname{rad}(G)\). So \(\operatorname{rad}(G) \le \operatorname{diam}(G) \le 2\operatorname{rad}(G)\), and Figure 1.11 attains the upper bound twice over, while a four-cycle, with radius and diameter both 2, sits at the other end.[3]

A walk is the loose cousin of a path: an alternating sequence \(v_0e_0v_1\dots v_k\) where each \(e_i\) joins \(v_i\) to \(v_{i+1}\), repeats allowed, and closed when it ends where it started. The bridge between the two: every walk from \(x\) to \(y\) contains an \(x\)–\(y\) path inside it, found by cutting out the closed sections it made.

Theorem — minimum degree forces long paths and cycles (Diestel, Proposition 1.3.1)

Every graph contains a path of length \(\delta(G)\), and if \(\delta(G) \ge 2\) also a cycle of length at least \(\delta(G)+1\).[3]

Theorem — girth versus diameter (Diestel, Proposition 1.3.2)

Every graph containing a cycle satisfies \(g(G) \le 2\operatorname{diam}(G)+1\): a network whose vertices are all close together cannot have only long round trips.[3]

A bound runs the other way too. Layering a graph by distance from a central vertex lets each layer grow by a factor of at most \(\Delta(G)-1\), capping the order of any graph of small radius and bounded degree. Theorem 1.3.4 of Alon, Hoory and Linial pushes this to average degree and yields a memorable corollary: if \(\delta(G) \ge 3\) then \(g(G) < 2\log|G|\), with \(\log\) base 2 throughout.[3]

Common mistake

Length counts edges, not vertices: \(P^4\) has four edges and five vertices, while \(C^k\) has \(k\) of each. Second, a closed walk repeating no edge is still not a cycle unless all its vertices are distinct. Third, a graph with no cycle has girth \(\infty\) but circumference 0.

In the real world

"Six degrees of separation" is a claim about diameter, and the bound above explains why it is surprising: if everyone had a modest number of contacts spread evenly, a population of billions could not have such a small diameter. Watts and Strogatz resolved the tension by randomly rewiring a small fraction of a ring lattice's edges: clustering barely changes but average path length collapses. They found this small-world signature in the neural wiring of the worm C. elegans, the power grid of the western United States, and a film-actor collaboration graph.[11]

Take the eight-cycle \(v_1v_2\dots v_8\) and add the chord \(v_1v_3\). What is the girth of the result?

  1. 3
  2. 4
  3. 7
  4. 8
Answer: A. The chord closes the short round trip \(v_1v_2v_3v_1\), of length 3, and girth measures the shortest cycle. Options C and D are the two longer cycles the chord leaves behind, which the girth ignores.

Which pair of values is impossible for a connected graph?

  1. \(\operatorname{rad}(G) = 2\), \(\operatorname{diam}(G) = 2\)
  2. \(\operatorname{rad}(G) = 2\), \(\operatorname{diam}(G) = 3\)
  3. \(\operatorname{rad}(G) = 3\), \(\operatorname{diam}(G) = 6\)
  4. \(\operatorname{rad}(G) = 2\), \(\operatorname{diam}(G) = 5\)
Answer: D. Routing any trip through a central vertex gives \(\operatorname{diam} \le 2\operatorname{rad}\), and \(5 > 4\). Option C looks just as extreme but sits exactly on the bound, which a long path attains.

Connectivity: how hard is the network to break

Definition — connected, component

A graph is connected if it is non-empty and every two of its vertices are joined by a path. A component is a maximal connected subgraph; components are induced subgraphs whose vertex sets carve \(V\) into disjoint blocks. Note the small print: non-emptiness is part of the definition, so the empty graph has no components while a single vertex is connected.[4]

Connected graphs can be assembled one vertex at a time. Diestel's Proposition 1.4.1 lists the vertices of a connected \(G\) as \(v_1, \dots, v_n\) so that every initial stretch \(G[\{v_1,\dots,v_i\}]\) is connected, which is what drives induction on connected graphs.[4]

Definition — separator, cutvertex, bridge, separation

A set \(X\) separates \(A\) from \(B\) if every \(A\)–\(B\) path uses something in \(X\). A cutvertex separates two other vertices of its component; a bridge is an edge separating its own two ends. A separation \(\{A,B\}\) is a pair of vertex sets with \(A \cup B = V\) and no edge between \(A \setminus B\) and \(B \setminus A\); its order is \(|A \cap B|\). It packages a separator with the two territories it divides.[4]

Bridges have a clean alternative description worth memorising: an edge is a bridge exactly when it lies on no cycle. On a cycle, its ends stay joined the long way round.

Reykjavik Nuuk Iqaluit Gander Goose Bay Torshavn Bergen Shannon Aberdeen the only link between the two sides delete it and the map falls in two 1 airport, or 2 routes, to break it
Figure 1.13. A simplified route map on nine airports and fourteen routes. Each side is a well-connected group of four, and the only routes across the water run through Reykjavik, which is therefore a cutvertex: \(\kappa(G) = 1\). No route is a bridge, since every edge lies on a cycle, and the cheapest disconnecting cut is the pair of routes running west out of Reykjavik, so \(\lambda(G) = 2\). Every airport has at least three routes, so \(\delta(G) = 3\). The chain reads \(1 = \kappa(G) < \lambda(G) = 2 < \delta(G) = 3\), strict at both steps: high minimum degree and freedom from bridges together still leave a single point of failure.
Definition — k-connected, \(\kappa\) and \(\lambda\)

\(G\) is \(k\)-connected if \(|G| > k\) and \(G - X\) stays connected for every vertex set \(X\) with fewer than \(k\) vertices; the connectivity \(\kappa(G)\) is the largest such \(k\), and the edge-connectivity \(\lambda(G)\) is its edge counterpart. Read \(\kappa(G) = 3\) as "you must knock out three vertices to break this network apart".[4]

Theorem — the robustness chain (Diestel, Proposition 1.4.2)

For every non-trivial graph, \(\kappa(G) \le \lambda(G) \le \delta(G)\): vertex robustness never exceeds edge robustness, which never exceeds the minimum degree.[4]

Proof idea. The right inequality is one line: cut all \(\delta(G)\) edges at a vertex of smallest degree and it is isolated. For the left, start from a smallest disconnecting edge set \(F\). If some vertex \(v\) touches none of \(F\), the vertices on \(v\)'s side that do touch \(F\)-edges form a separator of at most \(|F|\) members; otherwise \(d(v) \le |F|\) and \(N(v)\) separates \(v\), unless \(v\) is adjacent to every other vertex, in which case \(G\) is complete and \(\kappa = \lambda = |G| - 1\).

v a1 a2 a3 b1 b2 b3 one copy of K4 a second copy of K4 3 edges cut a1 off delete v and it falls in two
Figure 1.14. Two copies of \(K^4\) glued at the violet vertex \(v\). Deleting \(v\) leaves two separate triangles, so \(\kappa(G) = 1\), while each \(K^4\) survives the loss of any two of its edges, so \(\lambda(G) = 3\), with the three green edges at \(a_1\) one cheapest such cut, and every vertex has degree at least 3, so \(\delta(G) = 3\). The chain reads \(1 = \kappa < \lambda = \delta = 3\).
Theorem — dense graphs contain robust cores (Mader, 1972)

For every \(k \ge 1\), every graph with average degree \(d(G) \ge 4k\) has a \((k+1)\)-connected subgraph \(H\) with \(d(H) > d(G) - 2k\).[4]

Proof idea. Among all subgraphs that are large enough and satisfy a chosen edge-count inequality, take a smallest one, \(H\); minimality then forces both a high minimum degree and the absence of any small separation. The full argument is in Diestel §1.4. This is the flagship demonstration that a numerical average forces qualitative structure, and it returns in Chapter 7 and Chapter 12.

Common mistake

"Every vertex has lots of connections, so the network is hard to break." Figure 1.14 is the counterexample, and it scales: glue two enormous complete graphs at one vertex and you get huge minimum degree with \(\kappa = 1\). What large average degree buys you is a highly connected subgraph, not a highly connected graph.

Glue two copies of \(K^{10}\) together so that they share exactly one vertex. Which statement about the result is true?

  1. \(\kappa(G) = 9\), since every vertex has at least nine neighbours
  2. \(\lambda(G) = 1\), since the two copies hang together by a thread
  3. \(\kappa(G) = 1\), since deleting the shared vertex splits the graph
  4. \(G\) is 2-connected, since it contains no bridge
Answer: C. The shared vertex is a cutvertex, so one deletion is enough. Option D is the trap: having no bridge is true here, yet a graph with a cutvertex is still only 1-connected, and in fact \(\lambda(G) = \delta(G) = 9\).

Trees and forests

Connect \(n\) sites with as few links as possible and you get a tree. Trees are the most useful special case in the subject, appearing as objects of study, as proof scaffolding, and as data structures.

Definition — forest, tree, leaf

A forest is a graph with no cycles, and a tree is a connected forest, so the components of a forest are trees. A leaf is a vertex of degree 1, except that the root of a rooted tree is never counted as one. Every tree with at least two vertices has a leaf: either end of a longest path cannot have a second neighbour without extending the path or closing a cycle.[5]

Theorem — four faces of a tree (Diestel, Theorem 1.5.1)

For a graph \(T\), these four say the same thing. (i) \(T\) is a tree. (ii) Any two vertices are joined by exactly one path. (iii) \(T\) is minimally connected: \(T - e\) is disconnected for every edge \(e\). (iv) \(T\) is maximally acyclic: it has no cycle, but adding any edge creates one.[5]

Intuition

A tree is connectivity with zero redundancy: exactly one route between any two points, convenient when you want unique routes and fatal when a link fails, since every edge is a bridge. Add one edge and you buy a backup route and lose uniqueness at the same moment.

Theorem — the counting signature of a tree (Diestel, Corollary 1.5.2)

A connected graph on \(n\) vertices is a tree exactly when it has \(n-1\) edges.[5]

Proof idea. Build the tree one vertex at a time: with no cycles, each new vertex arrives attached by exactly one edge, so \(n\) vertices cost \(n-1\) edges. Conversely, every connected graph contains a spanning tree, a subgraph that is a tree using every vertex. That tree already uses \(n-1\) edges, so a graph with only \(n-1\) is the tree. Edges outside a spanning tree \(T\) are its chords, and they star in the linear algebra section.

a b c d e f g h i 9 sites, 11 possible trenches cabinet 8 trenches, 9 sites 3 chords left undug cut these 3 go dark
Figure 1.15. Nine sites to connect: a fibre cabinet \(a\) and eight houses \(b, \dots, i\), with the 11 trenches the survey allows drawn in grey. The 8 violet trenches form a spanning tree, the \(n-1 = 8\) signature for \(n = 9\), and the 3 green dashed trenches left undug are its chords: digging any one of them closes a cycle. Cutting the single tree edge \(cd\) strands \(d\), \(e\) and \(i\), because every edge of a tree is a bridge. Of the three chords only \(dh\) crosses that split and would have restored service; \(bf\) and \(ei\) each lie wholly inside one side.

Trees are also the cheapest shapes to find inside other graphs: by Corollary 1.5.3, \(\delta(G) \ge |T| - 1\) already forces a copy of the tree \(T\), built greedily one vertex at a time. Forcing a clique needs far more, as Chapter 7 shows.[5]

Rooted trees, tree-order, and the two closures

Pick one vertex of a tree and call it the root: that turns the tree into a hierarchy. Define \(x \le y\) to mean \(x\) lies on the unique path \(rTy\). In this tree-order the root is below everything and the leaves are maximal, even though the drawing puts the root at the top, as trees are almost always drawn. Vertices in different branches are incomparable. The height of a vertex is its distance from the root, and all vertices of height \(k\) form the \(k\)-th level.

Definition — down-closure and up-closure

For a vertex \(y\) of a rooted tree, the down-closure \(\lceil y \rceil := \{x : x \le y\}\) is \(y\) plus everything on its path back to the root, always a chain. The up-closure \(\lfloor x \rfloor := \{y : y \ge x\}\) is \(x\) plus everything hanging above it, its whole subtree.[5]

Common mistake

This is the worst collision of symbols in the chapter, and the book flags it too. At the top of this page \(\lfloor \; \rfloor\) and \(\lceil \; \rceil\) meant floor and ceiling of a number: \(\lfloor 2.7 \rfloor = 2\), \(\lceil 2.1 \rceil = 3\). Here they mean closures of a vertex in a rooted tree, and the shapes point the wrong way: the ceiling-shaped \(\lceil y \rceil\) is the down-closure and the floor-shaped \(\lfloor x \rfloor\) is the up-closure. Only what sits inside the brackets disambiguates them.

the rooted tree T r a b c d e f g T sitting inside a host graph r a b c d e f g
Figure 1.16. Left: a tree rooted at \(r\), with leaves \(c, d, f, g\) and levels \(\{r\}\), \(\{a,b\}\), \(\{c,d,e\}\), \(\{f,g\}\). The violet path is the down-closure \(\lceil f \rceil = \{r, b, e, f\}\); the up-closure \(\lfloor b \rfloor = \{b, e, f, g\}\) is the subtree above \(b\). Right: the gold edges \(rc\) and \(bf\) join comparable vertices, so the tree stays normal; the dashed violet edge \(cd\) joins incomparable siblings and breaks it.

That last distinction has a name and a payoff. A rooted tree \(T \subseteq G\) is normal in \(G\) when the two ends of every path of \(G\) that leaves and re-enters \(T\) are comparable in the tree-order. Plainly, the host graph's edges run only up and down the tree, never sideways between branches. These are exactly the trees a depth-first search produces.[5]

Theorem — normal trees display separators (Diestel, Lemma 1.5.4, Proposition 1.5.5 and Exercise 27)

Let \(T\) be a normal tree in \(G\). If \(x\) and \(y\) are incomparable, their common lower part \(\lceil x \rceil \cap \lceil y \rceil\) separates them in \(G\). And every connected graph has a normal spanning tree, with the root chosen freely.[5]

In a tree rooted at \(r\), what is the down-closure \(\lceil y \rceil\)?

  1. The subtree of everything hanging above \(y\)
  2. The vertices sitting directly above \(y\) in the tree-order
  3. The smallest whole number that is at least \(y\)
  4. \(y\) together with every vertex on the path from \(y\) back to \(r\)
Answer: D. The ceiling-shaped brackets mark the down-closure, a chain running back to the root, even though the shape points the other way. Option A is the floor-shaped up-closure \(\lfloor y \rfloor\), and option C is the numerical ceiling.

Bipartite graphs

Definition — r-partite and bipartite

A graph is \(r\)-partite if its vertices split into \(r\) classes with every edge joining different classes; the case \(r = 2\) is bipartite. If every two vertices from different classes are joined, it is complete \(r\)-partite, written \(K_{n_1,\dots,n_r}\), or \(K_s^r\) when all classes have size \(s\). The graph \(K_{1,n}\) is a star.[6]

applicants posts Ada Ben Cy Dee Mercy Vale Elm Ridge 4 lines, no two meeting at the same dot
Figure 1.17. Four applicants and four posts, drawn in two columns with the dashed divide between them. Every one of the nine application edges crosses the divide, and none runs inside a column: that is what bipartite means. The four gold edges form a matching, a set of edges with no shared endpoint, here pairing every applicant with a post.

Two examples worth knowing on sight. \(K_{3,3}\) is the three-houses-three-utilities graph, and one of the two obstacles to crossing-free drawing in Chapter 4. \(K_2^3 = K_{2,2,2}\) is the octahedron: six vertices in three opposite pairs, each joined to all but its partner.

Theorem — bipartite means no odd cycle (Diestel, Proposition 1.6.1)

A graph is bipartite if and only if it contains no cycle of odd length.[6]

Proof idea. One direction is a walk around a cycle: every step switches camps, so after an odd number of steps you cannot be home. For the other, take a spanning tree \(T\) rooted at \(r\) and colour each vertex \(v\) by whether \(rTv\) has even or odd length; tree edges then join opposite colours automatically. A non-tree edge \(xy\) closes a cycle one longer than \(xTy\), and that cycle is even by hypothesis, so \(x\) and \(y\) already differ.

C5: two colours are not enough v1 v2 v3 v4 v5 stuck here C6: two colours work u1 u2 u3 u4 u5 u6
Figure 1.18. Violet and gold mark the two camps. Left: start at \(v_1\) in violet and alternate. By \(v_5\) (green) the colour must differ from gold \(v_4\) and violet \(v_1\) at once, which two colours cannot deliver, and the dashed green edge is where the attempt collapses. Right: the same procedure closes round \(C^6\), because 6 is even.
Common mistake

Bipartite does not mean cycle-free: \(C^4\), \(C^6\) and \(K_{3,3}\) are bipartite and full of cycles, and only the odd ones are banned. Second, the split into two camps is not unique, since a disconnected bipartite graph can be re-split component by component.

In the real world

Two-sided markets are bipartite by construction. Every year the National Resident Matching Program assigns graduating medical students in the United States to hospital residency programs by an applicant-proposing procedure in which matches stay tentative and can be bumped until every rank list has been processed.[14] The mathematics behind it is Gale and Shapley's 1962 deferred acceptance result.[13] Roth and Peranson, who redesigned the clearinghouse in the 1990s, report it filling approximately 20,000 physician jobs per year as of 1999.[15] Chapter 2 develops the theory.

Which statement about bipartite graphs is correct?

  1. A bipartite graph contains no cycles at all
  2. A bipartite graph may contain cycles, but every one of them has even length
  3. Every graph with an even number of vertices is bipartite
  4. A bipartite graph splits into two classes in exactly one way
Answer: B. Only odd cycles are banned, and \(C^4\), \(C^6\) and \(K_{3,3}\) are bipartite and full of cycles. \(K^4\) has four vertices and is not bipartite, which kills option C, and a disconnected bipartite graph can be re-split component by component.

Contraction and minors

"Contains" has more than one useful meaning, and subgraphs are the strictest. This section adds two looser notions, both of which find a shape inside a graph even when no literal copy is present.

Definition — subdivision and topological minor

A subdivision of \(X\), written \(TX\), replaces some edges of \(X\) with paths running through new vertices that share nothing but their ends. The original vertices are branch vertices, the new ones subdividing vertices. If some subgraph of \(Y\) is a subdivision of \(X\), then \(X\) is a topological minor of \(Y\): the same picture, drawn with bends in the wires.[7]

Definition — inflated graph, contraction, minor

A graph is an inflated \(X\), written \(IX\), if its vertices split into connected branch sets \(V_x\), one per vertex of \(X\), with an edge between \(V_x\) and \(V_y\) exactly when \(xy\) is an edge of \(X\). If some subgraph of \(Y\) is an \(IX\), then \(X\) is a minor of \(Y\), written \(X \preccurlyeq Y\), and that subgraph is a model. Squashing each branch set to a point is contraction, written \(G/e\) when it merges the ends of one edge into \(v_e\).[7]

Ashby and Barton vote to merge d a e b c Denby Ashby Elton Barton Coleford one blob one town, one road to Coleford d e ab c Denby Elton Ashby-Barton Coleford two roads become one
Figure 1.19. Contraction on a road map. Left: five towns and five roads, with the road \(ab\) between Ashby and Barton in violet and the two roads \(ac\) and \(bc\) to Coleford in gold. The branch set \(\{a,b\}\) is connected, so it may be squashed to a point. Right: the contraction \(G/ab\). The merged town \(v_e\), drawn here as \(ab\), inherits every neighbour of both ends, so Denby and Elton keep their roads and the two gold roads to Coleford become the single edge \(abc\). Contracting costs one vertex and two edges: the road \(ab\) itself, and one of the two parallel roads to Coleford, since a simple graph keeps only one.
a b c d ve c d contracting one edge of C4 gives a triangle x y z w s t a subdivision of K4
Figure 1.20. Left: contract the gold edge \(ab\) of the four-cycle. Its ends merge into \(v_e\), which inherits their outside neighbours, so \(C^4/ab\) is the triangle \(v_ecd\). Right: a subdivision of \(K^4\), where the edge \(xz\) has become the gold path \(x\,s\,t\,z\). This graph contains no literal \(K^4\), yet \(K^4\) is a topological minor of it.
Worked example

The right half of Figure 1.20 is also an inflated \(K^4\), illustrating the rule that every subdivision is an inflation. Take the branch sets \(V_w = \{w\}\), \(V_y = \{y\}\), \(V_z = \{z\}\), and \(V_x = \{x, s, t\}\), each connected. The edge \(tz\) joins \(V_x\) to \(V_z\), \(xy\) joins \(V_x\) to \(V_y\), \(xw\) joins \(V_x\) to \(V_w\), and the other pairs keep their original edges, so squashing the branch sets to points returns \(K^4\).

Three facts organize the theory. First, both relations behave like an ordering: every graph is a minor of itself, two different graphs cannot each be a minor of the other, and a minor of a minor is a minor. Second, Diestel's Corollary 1.7.2 gives the hands-on version used in practice: \(X\) is a minor of \(Y\) exactly when you can get from \(Y\) to \(X\) by deleting vertices, deleting edges, and contracting edges. Third, every topological minor is a minor, and when the smaller graph has maximum degree at most 3 the two coincide.[7]

Common mistake

Subgraph, topological minor, and minor are three different relations, and only the implications from left to right hold: every subgraph is a minor and every topological minor is a minor, but neither converse holds in general. Contraction is more powerful because squashing a blob creates adjacencies between vertices merely joined by a path.

In the real world

Wires etched on one layer of a circuit board cannot cross, and whether a circuit fits on a single layer is a planarity question characterized by two forbidden minors, \(K^5\) and \(K_{3,3}\), so the language of this section is the language of that field. Lengauer's standard monograph on integrated-circuit layout works through the whole pipeline of partitioning, placement, routing, and compaction on top of graph algorithms.[19] Honest framing: modern chips have many wiring layers and do not test for planarity and stop. What the theory explains is the cost structure, why crossings are expensive and why layers exist. Chapter 4 proves it and Chapter 12 takes minors to their limit.

The cycle \(C^{17}\) is a subdivision of the triangle \(K^3\). What follows?

  1. \(K^3\) is a topological minor of \(C^{17}\), and therefore also a minor
  2. \(K^3\) is a subgraph of \(C^{17}\)
  3. \(C^{17}\) is a minor of \(K^3\)
  4. \(C^{17}\) and \(K^3\) are isomorphic
Answer: A. Containing a subdivision of \(X\) is exactly what makes \(X\) a topological minor, and every topological minor is a minor. Option B is the usual slip: no three vertices of \(C^{17}\) are mutually adjacent, so no literal triangle sits inside it.

Euler tours

In Königsberg, seven bridges connected two river banks and two islands, and the residents asked whether a walk could cross every bridge exactly once and finish where it began. In 1736 Leonhard Euler proved that it could not, and his argument is generally counted as the first theorem of graph theory.

An engraved bird's-eye view of a walled river city, hundreds of gabled houses drawn individually, a river forking around a central island, and a lettered key along the bottom edge.
Plate 1.A. Königsberg as Merian engraved it in the seventeenth century, house by house. The Pregel enters at the right, labelled Pregel fluvius, and splits around the island carrying the cathedral, which the key at the foot lists as F. Die Domkirch. Everything here is about to become four dots and seven lines. Matthäus Merian, 17th century. Wikimedia Commons, public domain.
Definition — Euler tour

An Euler tour is a closed walk traversing every edge exactly once, and a graph admitting one is Eulerian. Note the word walk: vertices may be revisited freely, and only edges are rationed.[8]

A B N S degree 5 degree 3 degree 3 degree 3 all four odd
Figure 1.21. Königsberg in 1736. The vertices are the north bank \(N\), the south bank \(S\), the island \(A\) and the eastern quarter \(B\); the seven edges are the bridges. Two joined \(N\) to \(A\) and two joined \(S\) to \(A\), which makes this a multigraph. Degrees are \(d(A) = 5\) and \(d(N) = d(S) = d(B) = 3\), all odd.
An engraved map of a river forking around an oval island, with four areas lettered A to D, seven small hatched blocks marking bridges lettered a to g, and handwritten German names beside them.
Plate 1.B. The first figure in the history of graph theory, engraved for the 1736 paper and headed Comment. Acad. Sc. Tom. VIII. Tab. VIII. p. 128. Euler drew the water: the island is A, the banks are B, C and D, and the seven hatched blocks laid across the river are the bridges a to g. Someone later wrote each bridge's Königsberg name beside it by hand. Leonhard Euler, 1736. Wikimedia Commons, public domain.

Before you read Euler's answer, try the walk. The map below is the 1736 city, and the seven bridges carry the names Königsberg gave them. Click a landmass to stand on it, then click bridges to cross them, one at a time and each one only once. After two failed attempts the map offers to show you what keeps going wrong.

Theorem — Euler's tour theorem (Euler, 1736)

A connected graph has an Euler tour if and only if every vertex has even degree.[8]

A pastel portrait of a man in a soft white cap and a blue striped coat with a white cravat, turned three-quarters towards the viewer against a dark background.
Plate 1.C. Jakob Emanuel Handmann's pastel of Euler, signed and dated 1753 in the top right corner, seventeen years after the bridges paper. Look at the eye on the left of the picture, Euler's right: Handmann painted it half shut and clouded rather than tidying it away. Jakob Emanuel Handmann, 1753. Wikimedia Commons, public domain.
Intuition

Every visit to a place uses one way in and one way out, so a place with an odd number of connections eventually strands you, and even the starting point must balance because you return to it. What is remarkable is that this obviously necessary local condition is also sufficient: a parity check at each vertex settles a global question about traversing the whole network.

Common mistake

Even degrees alone are not enough: two disjoint triangles have every degree equal to 2 and no Euler tour, so the theorem needs connectedness too. And an Euler tour is not a cycle, since it may revisit vertices. Visiting every vertex once is a different problem, the Hamilton cycle of Chapter 10.

a b c d e f g depot every junction even 1 2 3 4 5 6 7 8 one closed round, every street once a b c d e f g h dead end one cul-de-sac added degree 3 degree 1 two odd junctions, no closed round
Figure 1.22. A street sweeper's round. On the left, two blocks meeting at the crossroads \(c\): \(d(c) = 4\) and every other junction has degree 2, so all degrees are even and a closed round exists. The numbering traces one such round: out of the depot \(a\) to \(b\) and down to the crossroads, round the second block and back to the crossroads, then home by way of \(d\), using each of the eight streets exactly once. On the right, the same map with a single cul-de-sac \(eh\) added. Now \(d(e) = 3\) and \(d(h) = 1\), two odd junctions, so no closed round exists and the sweeper must drive at least one street twice. Choosing which streets to repeat, at least cost, is the route inspection problem.
In the real world

Two applications, one obvious and one surprising. A mail carrier or snow plough must cover every street and return to the depot with least total travel. If every intersection has even degree an Euler tour solves it exactly; if not, choosing which streets to repeat is a minimum-weight matching problem on the odd-degree intersections. Edmonds and Johnson welded Euler's characterization to matching theory to give a polynomial-time algorithm for this route-inspection problem.[16] The surprise is genomics. Sequencers emit billions of short overlapping fragments, and making each fragment a vertex turns assembly into a Hamiltonian problem, intractable at that scale. Compeau, Pevzner and Tesler explain the fix: chop the fragments up and make the pieces the edges of a de Bruijn graph, so assembly becomes an Eulerian path problem, solvable efficiently.[17]

Suppose one extra bridge is built in Figure 1.21, joining the north bank \(N\) directly to the south bank \(S\). Can a walk now cross every bridge exactly once and finish where it began?

  1. Yes, because the network is now connected
  2. Yes, because the number of odd-degree vertices has dropped
  3. No, because \(A\) and \(B\) still have odd degree
  4. No, because a multigraph can never have an Euler tour
Answer: C. The new bridge lifts \(N\) and \(S\) to degree 4, but \(d(A) = 5\) and \(d(B) = 3\) are untouched, and Euler's theorem demands that every degree be even. Option D is false: repeated edges are no obstacle at all.

The adjacency and incidence matrices, cycle space and cut space

Definition — the edge space over \(\mathbb{F}_2\)

The edge space \(\mathcal{E}(G)\) is the collection of all subsets of \(E\), treated as vectors, where adding two edge sets keeps exactly the edges in one of them but not both (symmetric difference). The zero vector is the empty set, and every set is its own negative, since \(F + F = \emptyset\). The vertex space \(\mathcal{V}(G)\) is the same on subsets of \(V\); the dimensions are \(\|G\|\) and \(|G|\).[9]

All of this is arithmetic modulo 2, in the two-element field \(\mathbb{F}_2\) where \(1 + 1 = 0\). Think of each edge as carrying a switch: adding a set of edges flips those switches, and flipping twice returns you to the start, which is the rule \(F + F = \emptyset\).

The edge space also carries an inner product: \(\langle F, F' \rangle\) is 0 when the two sets share an even number of edges and 1 when odd. For a subspace \(\mathcal{F}\), the orthogonal complement \(\mathcal{F}^{\perp}\) is everything meeting every member of \(\mathcal{F}\) evenly, and \(\dim \mathcal{F} + \dim \mathcal{F}^{\perp} = \|G\|\).

Definition — cycle space, cut, bond, cut space

The cycle space \(\mathcal{C}(G)\) is the subspace of \(\mathcal{E}(G)\) spanned by the edge sets of the cycles of \(G\). An edge set is a cut if it is all the edges crossing a split of \(V\) into two non-empty parts, and a bond is a minimal non-empty cut, one with no smaller cut inside it. The cut space \(\mathcal{B}(G)\) is all cuts plus the empty set.[9]

Theorem — recognizing the cycle space (Diestel, Proposition 1.9.1)

For an edge set \(D\), these say the same thing: \(D\) belongs to \(\mathcal{C}(G)\); \(D\) is a union of edge sets of cycles sharing no edges; every vertex of \((V, D)\) has even degree.[9]

triangle T1 = ab, bc, ca triangle T2 = ac, cd, da a b c d a b c d their sum: the square Q a b c d
Figure 1.23. Cycle-space arithmetic on a square with a diagonal: \(n = 4\), \(m = 5\). The violet triangle \(T_1\) and the gold triangle \(T_2\) share exactly the diagonal \(ac\), so adding them cancels that edge and leaves the green square \(Q\), the cancelled diagonal faded. Here \(\dim \mathcal{C} = 2\) and \(\dim \mathcal{B} = 3\).
Worked example

Keep working with Figure 1.23. Choose the spanning tree \(T = \{ab, bc, cd\}\), whose chords are \(da\) and \(ac\). Adding \(da\) closes \(C_{da} = Q\), the square; adding \(ac\) closes \(C_{ac} = T_1\), the violet triangle. Those two form a basis, and \(T_2 = Q + T_1\). Now remove the tree edge \(bc\): the tree splits into \(\{a,b\}\) and \(\{c,d\}\), with crossing edges \(bc\), \(ac\), \(ad\), so \(D_{bc} = \{bc, ac, ad\}\). Test the duality below: \(Q\) and \(D_{bc}\) share exactly \(bc\) and \(ad\), an even number, so their inner product is 0.

Cuts assemble from the simplest ones. The atomic cut \(E(v)\) is the bundle of all edges at one vertex, and Proposition 1.9.2 says the cuts form a subspace generated by these: the cut with sides \(V_1\) and \(V_2\) is the sum of \(E(v)\) over \(v \in V_1\), since edges inside \(V_1\) are counted twice and cancel. Lemma 1.9.3 adds that every cut splits into bonds.[9]

a 6 by 4 patch of pixels one vertex per pixel edges join neighbours inner dot: brighter object seed background seed 10 edges cross the split: the cut the object outline
Figure 1.24. Image segmentation as a cut. A \(6 \times 4\) patch of pixels becomes a grid graph: one vertex per pixel, an edge between neighbours priced by how alike the two pixels look. The five brighter pixels, drawn with an inner dot, are the object; the gold ring marks the pixel a user labels object and the green ring the pixel labelled background. The 10 violet edges are exactly those with one end inside the bright patch \(V_1\) and one end outside, so they are the cut \(E(V_1, V_2)\). Their number is forced by counting rather than by looking: none of the 5 object pixels touches the border, so each has degree 4, giving 20 edge-ends, and the 5 edges lying inside the patch absorb 10 of them, leaving 10 edges that cross. The gold curve threads those 10 edges and is the boundary the segmentation returns.
Theorem — cycles and cuts are orthogonal complements (Diestel, Theorem 1.9.4)

\(\mathcal{C}(G) = \mathcal{B}(G)^{\perp}\) and \(\mathcal{B}(G) = \mathcal{C}(G)^{\perp}\): an edge set is a sum of cycles exactly when it meets every cut evenly, and a sum of cuts exactly when it meets every cycle evenly.[9]

Proof idea. Half of it is one observation: walk around a cycle and count how often you cross a given split of the vertices; you end where you began, so you crossed evenly. An edge set outside the cycle space has a vertex of odd degree, so it meets the atomic cut there oddly. The subtle step is the last: given \(F\) meeting every cycle evenly, contract every edge not in \(F\); the result has no odd cycle, so it splits into two camps, and pulling that split back exhibits \(F\) as a cut.

Theorem — fundamental bases and dimensions (Diestel, Theorem 1.9.5)

Let \(G\) be connected with \(n\) vertices, \(m\) edges and a spanning tree \(T\). The fundamental cuts \(D_f\), one per tree edge, form a basis of \(\mathcal{B}(G)\); the fundamental cycles \(C_e\), one per chord, form a basis of \(\mathcal{C}(G)\). Hence \(\dim \mathcal{B}(G) = n-1\) and \(\dim \mathcal{C}(G) = m - n + 1\).[9]

Proof idea. Independence is immediate, since the chord \(e\) appears in \(C_e\) and no other fundamental cycle. For spanning, add to any cycle \(C\) the fundamental cycle of each of its chords: the result lies in the cycle space but uses only tree edges, and the only such element is the empty set. The dimensions follow from the tree edge count \(n-1\), and \(m - n + 1\) is called the cyclomatic number.

Finally, the matrices. The incidence matrix \(B\) has one row per vertex and one column per edge, with a 1 wherever the vertex lies on the edge. The adjacency matrix \(A\) has a 1 wherever two vertices are joined, and its row sums are the degrees. The degree matrix \(D\) lists the degrees down its diagonal. Over \(\mathbb{F}_2\), \(B\) sends an edge set to the vertices meeting an odd number of its edges and \(B^{\top}\) sends a vertex set \(U\) to the edges with one end in \(U\), so the kernel of \(B\) is the cycle space and the image of \(B^{\top}\) is the cut space.[9] Over the real numbers \(BB^{\top} = A + D\), and with directions on the edges it becomes \(D - A\), the Laplacian behind spectral graph theory, spectral clustering and graph neural networks.

Common mistake

Orthogonal does not mean disjoint here. It means the two sets overlap in an even number of edges, which is why a non-empty set of even size is orthogonal to itself. Second, a cut is not any set of edges whose removal disconnects the graph: it is all the edges crossing a two-way split. A minimal non-empty cut is a bond.

In the real world

Cuts are how computer vision separates an object from its background. Build a graph with one vertex per pixel and edges between neighbouring pixels weighted by how similar they look, then add two special vertices, one for "object" and one for "background": a cheapest cut separating those two traces the object boundary. Boykov and Funka-Lea show that these cuts reach global optima efficiently in any number of dimensions, including medical scans.[18] The duality that makes it computable is the subject of Chapter 6.

An edge set \(D\) belongs to the cycle space \(\mathcal{C}(G)\) exactly when which condition holds?

  1. \(D\) is the edge set of a single cycle of \(G\)
  2. \(D\) meets every cycle of \(G\) in an even number of edges
  3. \(D\) contains no bridge of \(G\)
  4. Every vertex of \((V, D)\) has even degree
Answer: D. Membership in an abstract span collapses to a parity check you can run by eye. Option B is the mirror-image condition and describes the cut space, while option A forgets that sums of edge-disjoint cycles belong too.

An edge set \(F\) contains exactly 4 edges. What is \(\langle F, F \rangle\)?

  1. 0
  2. 1
  3. 4
  4. 16
Answer: A. \(F\) shares all 4 of its edges with itself, 4 is even, so the inner product is 0 and \(F\) is orthogonal to itself. Orthogonal here means overlapping in an even number of edges, not failing to overlap.

Other notions of graphs: directed, multigraphs, hypergraphs

Definition — hypergraph, directed graph, multigraph

A hypergraph is a pair \((V,E)\) where each edge is a non-empty subset of \(V\) of any size; ordinary graphs are the case where every edge has size 2. A directed graph, or digraph, sends each edge \(e\) to \(\operatorname{init}(e)\) and \(\operatorname{ter}(e)\), and points from the first to the second. Several edges may join one pair, parallel when they point the same way; an edge with \(\operatorname{init}(e) = \operatorname{ter}(e)\) is a loop. A multigraph keeps loops and repeated edges but forgets directions.[10]

directed graph one-way streets multigraph two separate bridges hypergraph one group chat, four people square market station old town the docks a b c d nothing leaves two edges, not one six edges to say the same
Figure 1.25. One small town under three conventions. Left, a digraph: every street is one-way, so \(\operatorname{init}(e) \ne \operatorname{ter}(e)\) matters, and the two gold arrows reach the station while nothing leaves it. Centre, a multigraph: two bridges join the old town and the docks, a pair an ordinary graph must record once because \(E \subseteq [V]^2\) admits the pair \(\{\text{old town}, \text{the docks}\}\) only once. Right, a hypergraph: the single edge \(e = \{a,b,c,d\}\) is the group chat, and the six dashed edges are the pairwise substitute an ordinary graph is forced into, which says six conversations rather than one room.

An orientation chooses one of the two directions for each edge of an ordinary graph, and a digraph arising this way is an oriented graph. Flows in Chapter 6 and the tournament results in Chapter 10 live in that setting.

x y z a directed graph with a loop x v y x y suppressing a degree-2 vertex one new edge replaces the pair
Figure 1.26. Left: a directed graph. The two arrows from \(x\) to \(y\) are parallel edges, and the gold arrow at \(z\) is a loop, adding 2 to the degree of \(z\). Right: suppressing the degree-2 vertex \(v\) by deleting it and joining its neighbours with one new edge, the exact inverse of subdivision.

Multigraphs reuse most of the vocabulary, with three differences. Cycles of length 1 and 2 now exist, being a loop and a doubled edge. A loop contributes 2 to its vertex's degree, so degree and neighbour count stop agreeing, and it makes its vertex a cutvertex, so every 3-connected multigraph is an ordinary graph. Contraction gets simpler, since contracting \(e\) deletes no other edge. Plane duality in Chapter 4 and flows in Chapter 6 force multigraphs into the story anyway.[10]

One last note. Authors who take multigraphs as their default call the objects of this chapter simple graphs, so check which convention a paper uses before believing any degree count.

In a multigraph, what does a loop at the vertex \(v\) do to \(d(v)\)?

  1. Adds 1, since a loop is one edge
  2. Adds 0, since a loop brings no new neighbour
  3. Leaves \(d(v)\) undefined
  4. Adds 2, so degree and neighbour count stop agreeing
Answer: D. A loop meets \(v\) at both of its ends, so it is counted twice. That is exactly why \(d(v) = |N(v)|\), safe for ordinary graphs, breaks down here, and option A is the natural but wrong guess.

What to carry forward

Four things from this chapter appear on nearly every later page. First, the notation, which is why the table near the top exists and why ten other chapters link to it. Learn to read \(|G|\) and \(\|G\|\) apart, and remember that Diestel's indices ride high.

Second, the double-counting reflex: the degree-sum identity came from counting one set of pairs in two ways. Third, the extremal-choice reflex: take a longest path or a smallest counterexample, then ask what the extreme case cannot do. Proposition 1.3.1, Mader's theorem, Euler's theorem and the existence of normal spanning trees are all built that way.

double counting p q r s t 5 roads, 2 ends each: 10 road-ends 3 2 2 2 1 3 + 2 + 2 + 2 + 1 = 10 again extremal choice a b c d e the violet path is a longest path here stand at the far end, e all three neighbours of e are on the path
Figure 1.27. The chapter's two proof techniques. Left, double counting on the graph of Figure 1.9: each of the five roads is marked at both ends, giving 10 road-ends in gold, and the same 10 counted town by town gives \(3+2+2+2+1\), which is why \(\sum_v d(v) = 2\|G\|\). Right, extremal choice: the violet \(a\)–\(e\) path is a longest path in its graph, the faded vertices are the rest of the graph, and the three gold edges at \(e\) all land back on the path. They have to: an edge from \(e\) to anything off the path would extend it, contradicting the choice, which is the whole of the argument behind Proposition 1.3.1.

Fourth, the shape of a good theorem. Euler's theorem reduces a global traversal question to a local parity check; the bipartite theorem reduces a two-camp question to one forbidden shape. Characterisations of that kind, where a property you cannot see is equivalent to one you can check, are what the rest of the book hunts, and Chapter 2 starts that hunt with matchings.

The chapter names two proof reflexes to carry forward. Which one produced the degree-sum identity \(\|G\| = \tfrac{1}{2}\sum_{v} d(v)\)?

  1. Taking a longest path and asking what its last vertex cannot do
  2. Counting one collection of pairs in two different ways
  3. Choosing a smallest counterexample and deriving a contradiction
  4. Contracting edges until the graph is small enough to check by hand
Answer: B. The pairs are "an edge together with one of its ends", totalled once vertex by vertex and once edge by edge. Options A and C are the other named reflex, extremal choice, which drives Proposition 1.3.1 and Euler's theorem instead.

Check your understanding

In Diestel's notation, what does \(\|G\|\) denote?

  1. The number of vertices of \(G\)
  2. The maximum degree of \(G\)
  3. The number of edges of \(G\)
  4. The number of components of \(G\)
Answer: C. Double bars count edges, which is the size. Single bars \(|G|\) count vertices, which is the order. That is the tempting confusion in option A, and the two symbols differ by one stroke.

How many edges does the complete graph \(K^5\) have?

  1. 10
  2. 5
  3. 20
  4. 25
Answer: A. A complete graph uses every available pair of vertices, and there are \(\binom{5}{2} = 10\) pairs. Option D counts ordered pairs including a vertex with itself, neither of which a graph allows.

What does \(\delta(G)\) stand for?

  1. The maximum degree of \(G\)
  2. The minimum degree of \(G\)
  3. The average degree of \(G\)
  4. The diameter of \(G\)
Answer: B. Lowercase delta is the smallest degree in the graph. Capital \(\Delta(G)\) is the largest, and \(d(G)\) is the average, so all three of the wrong options are real quantities with different symbols.

How many vertices does the path \(P^4\) have?

  1. 3
  2. 4
  3. 5
  4. 8
Answer: C. The index of a path is its length, meaning its number of edges, so \(P^4\) has 4 edges and therefore 5 vertices. Option B is the standard slip. Cycles behave differently: \(C^4\) has 4 of each.

Which of these guarantees that a graph is not bipartite?

  1. It contains a cycle of length 6
  2. It has an odd number of vertices
  3. It is connected
  4. It contains a cycle of length 5
Answer: D. A graph is bipartite exactly when it has no odd cycle, and 5 is odd. Even cycles, odd order and connectedness are all perfectly compatible with being bipartite: \(C^6\) itself is bipartite, and so is any star on an odd number of vertices.

A connected graph has 10 vertices and 9 edges. What must be true of it?

  1. It contains a cycle
  2. It is a tree
  3. It is complete
  4. It has a vertex of degree 9
Answer: B. A connected graph on \(n\) vertices is a tree if and only if it has exactly \(n-1\) edges, and \(9 = 10 - 1\). Since it is a tree it has no cycle, which rules out option A. A star would give a degree-9 vertex, but a path would not, so option D is not forced.

Which statement correctly characterizes a bridge?

  1. An edge whose removal reduces the number of vertices
  2. An edge that lies on every path of the graph
  3. An edge joining two vertices of maximum degree
  4. An edge that lies on no cycle of the graph
Answer: D. An edge separates its own two ends exactly when there is no second route between them, which is exactly when it lies on no cycle. Option A confuses edge deletion with vertex deletion: \(G - e\) keeps both ends in place.

For every non-trivial graph, which chain of inequalities always holds between the connectivity \(\kappa\), the edge-connectivity \(\lambda\), and the minimum degree \(\delta\)?

  1. \(\kappa(G) \le \lambda(G) \le \delta(G)\)
  2. \(\delta(G) \le \lambda(G) \le \kappa(G)\)
  3. \(\lambda(G) \le \kappa(G) \le \delta(G)\)
  4. The three are always equal
Answer: A. Cutting the edges at a minimum-degree vertex isolates it, so \(\lambda \le \delta\), and a smallest disconnecting edge set can be converted into a vertex separator no larger than itself, so \(\kappa \le \lambda\). Option D fails on Figure 1.14, where \(1 = \kappa < \lambda = \delta = 3\).

Which of these graphs has an Euler tour?

  1. A connected graph with degrees 2, 2, 3, 3
  2. Two disjoint triangles
  3. A connected graph in which every vertex has degree 4
  4. The complete graph \(K^4\)
Answer: C. Euler's theorem needs connectedness and all degrees even, and option C has both. Option A has two odd degrees, option B has even degrees but is disconnected, and every vertex of \(K^4\) has degree 3, which is odd.

A connected graph has 6 vertices and 9 edges. What is the dimension of its cycle space \(\mathcal{C}(G)\)?

  1. 3
  2. 4
  3. 5
  4. 15
Answer: B. The dimension is \(m - n + 1 = 9 - 6 + 1 = 4\): a spanning tree uses \(6 - 1 = 5\) of the 9 edges, and each of the 4 remaining chords closes one independent fundamental cycle. Option A is the dimension of nothing here; \(n - 1 = 5\) is the dimension of the cut space, which is option C.

Sources and further reading

  1. R. Diestel, Graph Theory, 6th ed., Springer GTM 173 (2024), §1.1 (graphs, order and size, complete graphs \(K^n\), isomorphism, subgraphs and induced subgraphs, deletion and addition, join, complement, line graph).
  2. R. Diestel, Graph Theory, 6th ed., Springer GTM 173 (2024), §1.2 (neighbourhood and degree, \(\delta\), \(\Delta\), \(d(G)\), \(\varepsilon(G)\); the degree-sum identity; Proposition 1.2.1 on odd-degree vertices; Proposition 1.2.2 on dense subgraphs).
  3. R. Diestel, Graph Theory, 6th ed., Springer GTM 173 (2024), §1.3 (paths, cycles, girth, distance, diameter, radius, walks; Proposition 1.3.1; Proposition 1.3.2; Proposition 1.3.3; Theorem 1.3.4 of Alon, Hoory and Linial; Corollary 1.3.5).
  4. R. Diestel, Graph Theory, 6th ed., Springer GTM 173 (2024), §1.4 (components, separators, cutvertices, bridges, separations, \(\kappa\) and \(\lambda\); Proposition 1.4.1; Proposition 1.4.2; Theorem 1.4.3, Mader's theorem, 1972).
  5. R. Diestel, Graph Theory, 6th ed., Springer GTM 173 (2024), §1.5 (forests, trees, leaves, spanning trees, rooted trees and the tree-order, up- and down-closures, normal trees; Theorem 1.5.1; Corollary 1.5.2; Corollary 1.5.3; Lemma 1.5.4; Proposition 1.5.5).
  6. R. Diestel, Graph Theory, 6th ed., Springer GTM 173 (2024), §1.6 (\(r\)-partite and bipartite graphs, complete multipartite graphs, stars; Proposition 1.6.1 on odd cycles).
  7. R. Diestel, Graph Theory, 6th ed., Springer GTM 173 (2024), §1.7 (subdivisions \(TX\), topological minors, inflated graphs \(IX\), branch sets, minors \(X \preccurlyeq Y\), contraction \(G/e\); Proposition 1.7.1; Corollary 1.7.2; Proposition 1.7.3).
  8. R. Diestel, Graph Theory, 6th ed., Springer GTM 173 (2024), §1.8 (the Königsberg bridge problem; Theorem 1.8.1, Euler's tour theorem, 1736).
  9. R. Diestel, Graph Theory, 6th ed., Springer GTM 173 (2024), §1.9 (vertex and edge spaces over \(\mathbb{F}_2\), cycle space, cuts, bonds, cut space, fundamental cycles and cuts, incidence and adjacency matrices; Propositions 1.9.1, 1.9.2, 1.9.6, 1.9.7; Lemma 1.9.3; Theorems 1.9.4 and 1.9.5).
  10. R. Diestel, Graph Theory, 6th ed., Springer GTM 173 (2024), §1.10 (hypergraphs, directed graphs, orientations, multigraphs, suppressing a degree-2 vertex, the "simple graph" terminology note).
  11. D. J. Watts, S. H. Strogatz, "Collective dynamics of 'small-world' networks", Nature 393 (1998), 440–442. nature.com.
  12. R. Pastor-Satorras, A. Vespignani, "Epidemic spreading in scale-free networks", Physical Review Letters 86 (2001), 3200. arXiv:cond-mat/0010317.
  13. D. Gale, L. S. Shapley, "College Admissions and the Stability of Marriage", The American Mathematical Monthly 69(1) (1962), 9–15. Full text.
  14. National Resident Matching Program, "How the Matching Algorithm Works", official explainer. nrmp.org.
  15. A. E. Roth, E. Peranson, "The Redesign of the Matching Market for American Physicians: Some Engineering Aspects of Economic Design", American Economic Review 89(4) (1999), 748–780. aeaweb.org.
  16. J. Edmonds, E. L. Johnson, "Matching, Euler tours and the Chinese postman", Mathematical Programming 5 (1973), 88–124. springer.com.
  17. P. E. C. Compeau, P. A. Pevzner, G. Tesler, "How to apply de Bruijn graphs to genome assembly", Nature Biotechnology 29 (2011), 987–991. nature.com.
  18. Y. Boykov, G. Funka-Lea, "Graph Cuts and Efficient N-D Image Segmentation", International Journal of Computer Vision 70 (2006), 109–131. springer.com.
  19. T. Lengauer, Combinatorial Algorithms for Integrated Circuit Layout, Vieweg+Teubner (1990). springer.com.