use*_*777 16 algorithm graph bipartite graph-algorithm data-structures
我一直试图理解二分图.据我所知,它是一个图G,可以分为两个子图U和V.So U和V的交集是一个空集,并且union是图G.我试图找到一个图是否是二分或不使用BFS .我还不清楚我们怎么能用BFS找到它.
我们假设我们的图表定义如下.
a:e,f
b:e
c:e,f,h
d:g,h
e:a,b,c
f:a,c,g
g:f,d
h:c,d
Run Code Online (Sandbox Code Playgroud)
我需要的是逐步解释这个图是如何使用BFS的二分图.
Am_*_*ful 30
以下是使用广度优先搜索(BFS)查找给定图表是否为Birpartite的简单算法: -
如果可以使用两种颜色进行图形着色,使得一组中的顶点用相同颜色着色,则可以使用二分图.
另外,注意: -
- >可以使用两种颜色对均匀循环的循环图进行着色.
- >使用两种颜色无法对具有奇数周期的循环图进行着色.
编辑: -
如果图形未连接,则可能具有多个二分图.您需要使用上面提到的算法分别检查所有这些组件.
因此,对于同一图形的各种断开连接的子图,您需要使用上面讨论的相同算法分别对所有这些子图进行二分检查.所有这些相同图形的各种断开连接的子图将考虑其自己的二分组.
并且,该图将被称为二分,IF和ONLY IF,其每个连接的组件被证明是二分的.