IVl*_*lad 12
你为什么不能?你的问题让人甚至很难为你编写程序,因为你甚至没有提到特定的语言......
我们的想法是首先将一个随机节点放入FIFO队列(也在这里).颜色为蓝色.然后在队列中仍有节点的情况下重复此操作:将元素出列.使用与提取的元素不同的颜色为其邻居着色,并将每个邻居插入(入队)到FIFO队列中.例如,如果您将一个红色的元素(节点)出列(提取),则将其邻居的颜色设置为蓝色.如果提取蓝色节点,则将其邻居的颜色设置为红色.如果没有着色冲突,则图表是二分的.如果你最终用两种不同的颜色着色节点,那么它不是二分的.
就像@Moron所说,我所描述的只适用于连接图.但是,您可以在每个连接的组件上应用相同的算法,以使其适用于任何图形.