把相邻结点染成不同颜色称为图的着色问题
对图进行着色的最小颜色数为2时称为二分图
思路:这里对图的表示采取邻接表,然后就是常规的深搜。
step 1:创建邻接表的类,包含基本的API:
import java.util.ArrayList;
import java.util.List;
public class GraphNode_AL {
//邻接表的表示使用ArrayList来表示邻居
public int val;
//邻居节点
private List<GraphNode_AL> neighbors;
//当前的节点是否被访问
public boolean checked = false;
//构造方法
public GraphNode_AL(int val) {
this.val = val;
}
//增加邻居节点
public void add(GraphNode_AL node){
if(this.neighbors == null)
neighbors = new A

本文介绍了如何利用深度优先搜索(DFS)解决图的着色问题,特别是当最小颜色数为2时的二分图着色。首先,文章通过创建邻接表类来表示图,并提供了相关的API。接着,详细阐述了采用DFS进行图着色的步骤和方法。
最低0.47元/天 解锁文章
2317

被折叠的 条评论
为什么被折叠?



