博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
BFS/DFS 判断是否是二分图
阅读量:4215 次
发布时间:2019-05-26

本文共 1605 字,大约阅读时间需要 5 分钟。

package Graph;import java.util.ArrayDeque;import java.util.LinkedList;import java.util.Queue;import java.util.Scanner;public class IsToColor {  boolean isTwoColor = true; LinkedList
[]map; boolean []visit; boolean[]color; int v, e; public static void main(String[] args) { IsToColor dfs = new IsToColor(); dfs.run(); for(int i = 0; i < dfs.v; i++ ) { dfs.dfs(i); } System.out.println(dfs.isTwoColor); IsToColor bfs = new IsToColor(); bfs.run(); for(int i = 0; i < bfs.v; i++ ) { bfs.bfs(i); } System.out.println(bfs.isTwoColor); } public void run() { Scanner in = new Scanner(System.in); v = in.nextInt(); e = in.nextInt(); map = new LinkedList[v]; visit = new boolean[v]; color = new boolean[v]; for(int i = 0; i < map.length; i++ ) { map[i] = new LinkedList<>(); } for(int i = 0; i < e; i++ ) { int a = in.nextInt(); int b = in.nextInt(); map[a].offer(b); map[b].offer(a); } } public void dfs(int cur) { visit[cur] = true; for(int i = 0; i < map[cur].size(); i++ ) { int w = map[cur].get(i); if(!visit[w]) { color[w] = !color[cur]; dfs(w); } else if(color[w] == color[cur]) { isTwoColor = false; return; } } } public void bfs(int start) { Queue
que = new LinkedList<>(); que.offer(start); visit[start] = true; while(!que.isEmpty()) { int cur = que.poll(); for(int i = 0; i < map[cur].size(); i++ ) { int w = map[cur].get(i); if(!visit[w]) { visit[w] = true; color[w] = !color[cur]; que.offer(w); } else if(color[w] == color[cur]){ isTwoColor = false; return; } } } }}

转载地址:http://ylimi.baihongyu.com/

你可能感兴趣的文章
自动驾驶汽车传感器数字孪生建模(二)
查看>>
车载数字孪生预期功能安全未知危害分析技术
查看>>
自动驾驶汽车以太网数字孪生建模(一)
查看>>
自动驾驶汽车以太网数字孪生建模(二)
查看>>
初识软件定义汽车
查看>>
科普 | 自动驾驶预期功能安全(二)
查看>>
轩辕实验室丨SAE J3061汽车信息安全标准解读
查看>>
轩辕实验室丨欧盟EVITA项目预研 第一章(一)
查看>>
轩辕实验室丨欧盟EVITA项目预研 第一章(二)
查看>>
轩辕实验室丨欧盟EVITA项目预研 第一章(三)
查看>>
专利 | 一种基于深度学习的车载CAN总线入侵检测方法
查看>>
VCU解决方案及核心L9788复杂驱动功能安全审计启动
查看>>
助力“探月工程”的单元测试工具可10倍提升测试效率
查看>>
构建实时数仓 - 当 TiDB 偶遇 Pravega
查看>>
TiDB 容器化部署面面观丨「能量钛」圆桌论坛回顾
查看>>
TiDB 在网易游戏的应用实践
查看>>
迁移实战:Discourse 从 PostgreSQL 到 MySQL 到 TiDB丨AskTUG 论坛背后的故事
查看>>
TiDB Operator 源码阅读 (四) 组件的控制循环
查看>>
TiDB 5.1 发版,打造更流畅的企业级数据库体验
查看>>
2020-11-04
查看>>