一、二分图
1. 染色法
一个图是二分图,当且仅当,图中不含奇数环。在判别一个图是否为二分图⑩,其实相当于染色问题,每条边的两个点必须是不同的颜色,一共有两种颜色,如果染色过程中出现矛盾,则说明不是二分图。
for i = 1 to n:
if i 未染色
DFS(i, 1); //将i号点染色未1号,然后深搜
一个图是二分图,当且仅当,图中不含奇数环。在判别一个图是否为二分图⑩,其实相当于染色问题,每条边的两个点必须是不同的颜色,一共有两种颜色,如果染色过程中出现矛盾,则说明不是二分图。
for i = 1 to n:
if i 未染色
DFS(i, 1); //将i号点染色未1号,然后深搜