Tutorials › Graph Theory (Undergraduate) › A Complete Proof of Brooks’ Theorem

Vertex Coloring and Chromatic Number · Tutorial 353 of 799

A Complete Proof of Brooks' Theorem

Learn how the cut-vertex reduction and a carefully chosen greedy ordering prove Brooks' theorem.

Intermediate 11 min read

What You'll Learn

  • State Brooks' theorem with its connectedness and exception hypotheses.
  • Handle connected graphs of maximum degree at most two.
  • Reduce a graph with a cut vertex to smaller connected pieces.
  • Find nonadjacent neighbors of a vertex in a connected noncomplete graph.
  • Build a greedy coloring order and justify why each vertex can be colored.
  • Identify why the degree bound can fail for an odd cycle.

The Bound and Its Exceptions

A greedy coloring with a suitable vertex order can sometimes use the maximum degree \(\Delta(G)\) colors, rather than the general bound of \(\Delta(G)+1\). Brooks' theorem says that this sharper bound holds for every connected graph except complete graphs and odd cycles. The key is not simply to color in an arbitrary order: the proof arranges that most vertices have an earlier neighbor, while a final vertex has two neighbors already colored alike.

Definition: A proper coloring of a graph \(G=(V,E)\) assigns a color to each vertex so that adjacent vertices receive different colors. The chromatic number \(\chi(G)\) is the least number of colors in a proper coloring. The maximum degree \(\Delta(G)\) is the largest degree of any vertex.
Theorem (Brooks): If \(G\) is a finite, connected, simple graph that is neither a complete graph nor an odd cycle, then \(\chi(G)\leq\Delta(G)\).

The exceptions are necessary. A complete graph \(K_r\) has \(\chi(K_r)=r\) and \(\Delta(K_r)=r-1\). An odd cycle has maximum degree \(2\), but needs \(3\) colors. The proof below establishes the bound for all other connected graphs.

Low-Degree Cases and Cut Vertices

First consider connected graphs with \(\Delta(G)\leq2\). A connected graph of maximum degree at most two is a path, a cycle, or a single vertex: starting at a vertex of degree at most one gives a path covering the graph; if there is no such vertex, following edges returns to the starting vertex and gives a cycle covering the graph. A path can be colored alternately with two colors, as can an even cycle. The single vertex and \(K_2\) are complete graphs, while an odd cycle is an exception in the theorem. This settles all connected graphs with \(\Delta(G)\leq2\).

For larger graphs, we use induction on the number of vertices. A vertex \(c\) is a cut vertex if deleting it disconnects the graph. The following reduction explains how to color a graph with a cut vertex using the theorem for smaller graphs.

Cut-vertex reduction: Suppose \(G\) is connected, has a cut vertex \(c\), and the Brooks bound holds for all smaller connected graphs. Then \(G\) can be colored with at most \(\Delta(G)\) colors, unless the bound is already accounted for by one of the stated exceptions.

Proof. Let \(C_1,\ldots,C_k\), where \(k\geq2\), be the vertex sets of the components of \(G-c\). For each \(i\), let \(H_i=G[C_i\cup\{c\}]\), the induced subgraph on \(C_i\cup\{c\}\). Each \(H_i\) is connected and has fewer vertices than \(G\). Write \(\Delta=\Delta(G)\); then \(\Delta(H_i)\leq\Delta\).

If \(H_i\) is complete, say \(K_r\), it needs \(r\) colors. The only way it could need more than \(\Delta\) colors is if \(r=\Delta+1\). In that case \(c\) has degree \(\Delta\) within \(H_i\), and it has at least one neighbor in another component of \(G-c\). Thus \(\deg_G(c)\geq\Delta+1\), contradicting the definition of \(\Delta\). So every complete \(H_i\) can be colored with at most \(\Delta\) colors. If \(H_i\) is an odd cycle, then \(c\) has two neighbors on that cycle and at least one neighbor outside it, so \(\Delta\geq3\); the cycle can therefore be colored with at most \(\Delta\) colors. Every other \(H_i\) satisfies the induction hypothesis, so it too can be colored with at most \(\Delta\) colors.

Choose a palette of \(\Delta\) colors. In each coloring, relabel the colors so that \(c\) receives the same color. The colorings then combine to color \(G\): different \(C_i\) have no edges between them, and every edge joining \(c\) to a component is already properly colored within its \(H_i\). This proves the reduction. \(\square\)

In particular, for the inductive proof it remains to treat connected graphs with no cut vertex. The one-vertex graph is complete, and a connected graph with at least three vertices and no cut vertex is called 2-connected.

A Greedy Ordering for 2-Connected Graphs

We first find the three vertices that make the ordering work. In a connected, noncomplete graph there are nonadjacent vertices \(a,b\). Choose a shortest \(a\)-\(b\) path, written \(p_0,p_1,\ldots,p_\ell\), where \(p_0=a\), \(p_\ell=b\), and \(\ell\geq2\). The vertices \(p_0\) and \(p_2\) cannot be adjacent: that edge would give a shorter \(a\)-\(b\) path. Thus, setting \(x=p_0\), \(v=p_1\), and \(y=p_2\), we have \(xv,vy\in E\) and \(xy\notin E\).

Now suppose \(G\) is 2-connected, and fix such \(x,v,y\). Consider the components of \(G-\{x,y,v\}\). Each has a neighbor in \(\{x,y,v\}\), since \(G\) is connected. In fact, each has a neighbor in \(\{x,y\}\). If a component had no neighbor in \(\{x,y\}\), all its neighbors outside itself would have to be \(v\). Deleting \(v\) would then separate that component from \(x\) and \(y\), making \(v\) a cut vertex. This contradicts 2-connectivity.

For each such component, choose a vertex adjacent to \(x\) or \(y\), and choose a spanning tree of the component rooted at that vertex. A spanning tree is a connected, cycle-free subgraph containing all vertices of the component. List its vertices with each parent before its children. Concatenate these lists, in any order of the components, to form the middle of the coloring order. Use the full order

$$ x,\ y,\ \text{the vertices of }G-\{x,y,v\}\text{ in the chosen order},\ v. $$

Give \(x\) and \(y\) the same color first; they are nonadjacent, so this is proper on those two vertices. Each vertex in the middle has an earlier neighbor: a root is adjacent to \(x\) or \(y\), and every other vertex has its parent earlier. Since its total degree is at most \(\Delta(G)\), it has at most \(\Delta(G)-1\) earlier neighbors. At most that many colors are forbidden, so one of a palette of \(\Delta(G)\) colors is available.

Finally color \(v\). Both \(x\) and \(y\) are neighbors of \(v\) and have the same color. Therefore the colored neighbors of \(v\) use at most \(\deg(v)-1\leq\Delta(G)-1\) distinct colors: among its \(\deg(v)\) neighbors, the pair \(x,y\) contributes at most one color. At least one palette color remains for \(v\). This completes the greedy argument for a 2-connected graph with \(\Delta(G)\geq2\); the low-degree cases were handled above.

Completing the Induction

We can now prove Brooks' theorem. Induct on \(|V(G)|\) for connected graphs. The connected graphs with \(\Delta(G)\leq2\) were handled directly. For a connected graph with \(\Delta(G)\geq3\), if it has a cut vertex, the cut-vertex reduction colors it using at most \(\Delta(G)\) colors. Otherwise it has no cut vertex, so it is 2-connected. If it is not complete, the shortest-path argument supplies \(x,v,y\), and the greedy ordering colors it with at most \(\Delta(G)\) colors. A complete graph is precisely one of the theorem's exceptions. Odd cycles have maximum degree \(2\), so they were already separated in the low-degree case. These cases prove the stated theorem.

Worked Example: Applying the Ordering in a 2-Connected Graph

Let \(G\) have \(V=\{1,2,3,4,5\}\) and \(E=\{12,23,34,45,51,13\}\). The degrees are \(\deg(1)=3\), \(\deg(2)=2\), \(\deg(3)=3\), \(\deg(4)=2\), and \(\deg(5)=2\), so \(\Delta(G)=3\). The graph is connected, and deleting any one vertex leaves it connected; for example, after deleting \(1\), the remaining edges \(23,34,45\) form a path, and the same check along the cycle with chord verifies the other deletions. It is not complete.

Take \(v=1\), \(x=2\), and \(y=5\). Both \(2\) and \(5\) are adjacent to \(1\), while \(25\notin E\). The remaining vertex set after deleting \(x,y,v\) is \(\{3,4\}\), with edge \(34\). Use the order \(2,5,3,4,1\). With colors \(A,B,C\), color \(2\) with \(A\), and give \(5\) the same color \(A\). Vertex \(3\) has the earlier neighbor \(2\), so give \(3\) color \(B\). Vertex \(4\) has earlier neighbors \(3\) and \(5\), with colors \(B\) and \(A\), so give it \(C\). Vertex \(1\) has neighbors \(2,5,3\), whose colors are \(A,A,B\), so give it \(C\).

Check: the edge list is \(12,23,34,45,51,13\). Their endpoint colors are respectively \(C/A\), \(A/B\), \(B/C\), \(C/A\), \(A/C\), and \(C/B\), so every edge has differently colored endpoints. The coloring uses three colors, matching the bound \(\Delta(G)=3\).

Worked Example: Combining Colorings Across a Cut Vertex

Let \(G\) have \(V=\{a,b,c,d,e\}\) and \(E=\{ab,bc,ca,cd,de\}\). The vertex \(c\) is a cut vertex: deleting it leaves the component \(\{a,b\}\) and the component \(\{d,e\}\). The degrees are \(2,2,3,2,1\), respectively, so \(\Delta(G)=3\).

The two induced pieces are the triangle on \(\{a,b,c\}\) and the path on \(\{c,d,e\}\). Color the triangle by \(a=1,b=2,c=3\). Color the path with \(c=3,d=1,e=2\). The colors at \(c\) agree, so these assignments combine to give \(a=1,b=2,c=3,d=1,e=2\) on \(G\).

Check: the triangle edges \(ab,bc,ca\) have endpoint colors \(1/2,2/3,3/1\). The remaining edges \(cd,de\) have endpoint colors \(3/1,1/2\). Every edge is proper, and the coloring uses three colors, which is \(\Delta(G)\).

Worked Example: Why an Odd Cycle Is an Exception

Let \(G=C_5\), with \(V=\{1,2,3,4,5\}\) and \(E=\{12,23,34,45,51\}\). Every vertex has degree \(2\), so \(\Delta(G)=2\). Try the greedy order \(1,2,3,4,5\) using only colors \(A,B\). The successive forced choices are \(1=A\), \(2=B\), \(3=A\), and \(4=B\). Vertex \(5\) is adjacent to both \(4\), colored \(B\), and \(1\), colored \(A\). Neither color is available.

Check: alternating two colors around a cycle returns to the starting vertex after an odd number of edges with the opposite color required there. Thus \(C_5\) cannot be properly colored with two colors. A third color suffices: \(1=A,2=B,3=A,4=B,5=C\). The odd-cycle exception is therefore genuine: \(\chi(C_5)=3>\Delta(C_5)=2\).

Common Pitfall: Greedy Coloring Needs the Right Order

A greedy coloring does not automatically use \(\Delta(G)\) colors just because the graph is connected and not complete. The \(C_5\) calculation shows exactly how an order can leave the last vertex with all available colors blocked. Brooks' proof avoids that failure by first coloring two nonadjacent neighbors \(x,y\) alike and making their common neighbor \(v\) the final vertex. At \(v\), those two neighbors count as only one forbidden color. The cut-vertex reduction is also essential: the special ordering argument is applied only after the graph has been reduced to pieces with no cut vertex, or to the 2-connected case.

Check Your Understanding

Use the proof and the examples to answer the following questions.

  1. Why does a shortest path between nonadjacent vertices contain three consecutive vertices whose endpoints are nonadjacent?
  2. In the 2-connected ordering, why does every component of \(G-\{x,y,v\}\) have a neighbor in \(\{x,y\}\)?
  3. Why can the colorings of the pieces at a cut vertex be relabeled and combined without creating a conflict?
  4. Which part of the greedy argument uses the fact that \(x\) and \(y\) are nonadjacent?
  5. Explain why a complete graph \(K_r\) requires \(r\) colors while its maximum degree is \(r-1\).