我有一个图表,可能(或可能不)包含一组使其成为二分的边。我怎样才能发现这样的集合是否存在?
在BFS遍历帮助期间删除特定级别的所有边缘?
答案 0 :(得分:1)
由于任何二分图也是2可着色的,您可以使用任何检查此特征的算法。你可以,例如使用基于回溯的算法与BFS一起做。一般来说,它看起来像这样:
假设图形是二分的,顶点可以分为A组和B组。选择一个源顶点,将其染成红色(A组)。然后将所有相邻顶点着色为蓝色(组B),然后将这些邻居的邻居变为红色。如果在着色过程中你发现一个与当前顶点颜色相同的邻居,那么它不是2颜色,因此不是二分。这可能不会涵盖所有细节,但您应该明白这一点。