A simple program that checks whether a graph is bipartite.
The usage is demonstrated in the tests. The graph is represented by a list of edges.
from bipartite_checker import Graph, is_bipartite
edge_list = [[1, 2], [2, 3], [3, 1]]
graph = Graph().from_edges(edge_list)
print(is_bipartite(graph))
# output: False
The program can be used directly from the console as well.
python3 -m check_bipartite 1 2 2 3 3 1
Where 1 2 2 3 3 1
translates to [[1, 2], [2, 3], [3, 1]]
Optionally it can be used to visualize bipartite coloring using the draw_bipartite
function.
from bipartite_checker import Graph, is_bipartite, draw_bipartite
edge_list = [[1, 2], [2, 3], [3, 4], [4, 1], [4, 5], [5, 6], [1, 6]]
g = Graph().from_edges(edge_list)
draw_bipartite(g)
# output: out.png