Ejemplo n.º 1
0
 def test_check_bipartite(self):
     adj_list_1 = [[0, 0, 1], [0, 0, 1], [1, 1, 0]]
     self.assertEqual(True, check_bipartite(adj_list_1))
     adj_list_2 = [[0, 1, 0, 1], [1, 0, 1, 0], [0, 1, 0, 1], [1, 0, 1, 0]]
     self.assertEqual(True, check_bipartite(adj_list_2))
     adj_list_3 = [[0, 1, 0, 0], [1, 0, 1, 1], [0, 1, 0, 1], [0, 1, 1, 0]]
     self.assertEqual(False, check_bipartite(adj_list_3))
Ejemplo n.º 2
0
 def test_check_bipartite(self):
     
     adj_list_1 = [[0, 0, 1], [0, 0, 1], [1, 1, 0]]
     self.assertEqual(True, check_bipartite(adj_list_1))
     
     adj_list_2 = [[0, 1, 0, 1], [1, 0, 1, 0], [0, 1, 0, 1], [1, 0, 1, 0]]
     self.assertEqual(True, check_bipartite(adj_list_2))
     
     adj_list_3 = [[0, 1, 0, 0], [1, 0, 1, 1], [0, 1, 0, 1], [0, 1, 1, 0]]
     self.assertEqual(False, check_bipartite(adj_list_3))
"""
Bipartite graph is a graph whose vertices can be divided into two disjoint and independent sets.
(https://en.wikipedia.org/wiki/Bipartite_graph)
Time complexity is O(|E|)
Space complexity is O(|V|)
이분법

"""
from algorithms.graph import check_bipartite
graph = [[0, 1, 0, 1], [1, 0, 1, 0], [0, 1, 0, 1], [1, 0, 1, 0]]

print(check_bipartite(graph))