图论中,布鲁克定理(英语:Brooks' theorem) 描述了图的着色数与图中最大度数的关系,提供了图着色数的一个上界。定理断言,若连通图中,每个顶点都不多于Δ个邻居,且不是完全图或奇环,则可以被Δ-着色,即可以被染成Δ种颜色,使得相邻点颜色互不相同。
考虑为的顶点排序为为完全图或奇环。当为完全图时,为奇环时,中度小于的点进行深度优先遍历,按照DFS序的逆序排列的节点。故只有小于等于 - 1个邻点排在它前面,这样,只有小于等于 - 1个邻点排在它前面,而 - 1个邻点排在它前面,按该次序的贪心染色最多衹用种色。
若要避免术语“DFS”,可以构造下列集合
直到里面包含
中所有顶点:
然后可以用上述贪心染色算法对图
进行染色。染色顺序为:先染
中的点,再染
中的点,一直这么下去直到染完
中的点。这种算法使用
种颜色就能完成。当染到点
时,
在
中至少有一个邻居,所以
邻居中至多只有
个被染色过,所以能对
进行染色。
当染点
的时候,由于
,
邻居中至多只有
个被染色过,所以同样能对
进行染色。所以用
种颜色对
恰当染色。
假设割点为
,那么
就不是连通图,设
有
个连通分量
。对于任意一个连通分支
,考虑
。由于
在
的度数小于
,
。由前述贪心染色算法可知,
可染
色。然后只需令这些染色方案中
所染的颜色一样(如果不一样,将所有点染的颜色重新排列一下),就能拼成
的染色方案,所以可用
种颜色对
恰当染色。
由于
中没有割点,
是2连通图(英语:Biconnected graph)。断言可以找到一个顶点
,使得它有两个邻点
,满足
不相邻,且
连通。如果这样的
存在,就可以先将
染成同色,然后贪心地为其他点染色,使
最后染。这样贪心染法衹用不超过
种色,因为除
之外的点,只有小于等于
个邻点排在它前面,而
又有两个邻点
同色,故
的邻域衹用前
种色,尚有余下颜色可用。以下说明为何有此种
。
如果
是3连通的,则可以选取距离为2的两点
(因为
不是完全图),及其公共邻点
。如此有
,又由于
是3连通的,
是连通图,即为所求。
仅剩
是2连通但不是3连通的情况。此时有顶点
使
仅为1连通,考虑
各个双连通分支(英语:biconnected component),之间以割点连接,组成一棵树。因为
不是2连通,该树至少有两个叶区块(leaf block),设为
。又因为
无割点,所以
的每一个叶区块中,必有某个非割点与
相邻。于是,可以在
中各取
的邻点
,使
不是
的割点。如此,
不相邻(否则
属同一双连通分支),且
连通。因为
,所以
连通。证毕。