if __name__ == "__main__": g = UnweightedGraph() g.add_vertex(1) g.add_vertex(2) g.add_vertex(3) g.add_vertex(4) g.add_vertex(5) g.add_vertex(6) g.add_vertex(7) g.add_vertex(8) g.add_vertex(9) g.add_vertex(10) g.add_vertex(11) # 4 cliques in total, of size, 3, 2, 4, and 3 g.add_edge(1, 2) g.add_edge(2, 1) g.add_edge(1, 3) g.add_edge(3, 1) g.add_edge(2, 3) g.add_edge(3, 2) g.add_edge(3, 4) g.add_edge(4, 3) g.add_edge(4, 5) g.add_edge(5, 6) g.add_edge(5, 7) g.add_edge(5, 8) g.add_edge(6, 5)
def connected(self, node_a, node_b): return self.id(node_a) == self.id(node_b) if __name__ == '__main__': g = UnweightedGraph() g.add_vertex(1) g.add_vertex(2) g.add_vertex(3) g.add_vertex(4) g.add_vertex(5) g.add_vertex(6) g.add_vertex(7) g.add_edge(1,2, both=True) g.add_edge(2,4, both=True) g.add_edge(2,6, both=True) g.add_edge(3,5, both=True) cc = CC(g) for node in g.get_nodes(): print("node: {}, id: {}".format(node, cc.id(node))) for node in g.get_nodes(): print("node 1 is connected to node {}: {}".format(node, cc.connected(1, node)))
def id(self, node): return self.G.get_vertex(node).id def connected(self, node_a, node_b): return self.id(node_a) == self.id(node_b) if __name__ == "__main__": g = UnweightedGraph() g.add_vertex(1) g.add_vertex(2) g.add_vertex(3) g.add_vertex(4) g.add_vertex(5) g.add_vertex(6) g.add_vertex(7) g.add_edge(1, 2, both=True) g.add_edge(2, 4, both=True) g.add_edge(2, 6, both=True) g.add_edge(3, 5, both=True) cc = CC(g) for node in g.get_nodes(): print("node: {}, id: {}".format(node, cc.id(node))) for node in g.get_nodes(): print("node 1 is connected to node {}: {}".format( node, cc.connected(1, node)))
g = UnweightedGraph() g.add_vertex(1) g.add_vertex(2) g.add_vertex(3) g.add_vertex(4) g.add_vertex(5) g.add_vertex(6) g.add_vertex(7) g.add_vertex(8) g.add_vertex(9) g.add_vertex(10) g.add_vertex(11) # 4 cliques in total, of size, 3, 2, 4, and 3 g.add_edge(1,2) g.add_edge(2,1) g.add_edge(1,3) g.add_edge(3,1) g.add_edge(2,3) g.add_edge(3,2) g.add_edge(3,4) g.add_edge(4,3) g.add_edge(4,5) g.add_edge(5,6) g.add_edge(5,7) g.add_edge(5,8) g.add_edge(6,5)
g.add_vertex(0) g.add_vertex(1) g.add_vertex(2) g.add_vertex(3) g.add_vertex(4) g.add_vertex(5) g.add_vertex(6) g.add_vertex(7) g.add_vertex(8) g.add_vertex(9) g.add_vertex(10) g.add_vertex(11) g.add_vertex(12) # 5 strongly connected components g.add_edge(0, 1) g.add_edge(0, 5) g.add_edge(2, 0) g.add_edge(2, 3) g.add_edge(3, 2) g.add_edge(3, 5) g.add_edge(4, 2) g.add_edge(4, 3) g.add_edge(5, 4) g.add_edge(6, 0) g.add_edge(6, 4) g.add_edge(6, 8) g.add_edge(6, 9) g.add_edge(8, 6)
g.add_vertex(0) g.add_vertex(1) g.add_vertex(2) g.add_vertex(3) g.add_vertex(4) g.add_vertex(5) g.add_vertex(6) g.add_vertex(7) g.add_vertex(8) g.add_vertex(9) g.add_vertex(10) g.add_vertex(11) g.add_vertex(12) # 5 strongly connected components g.add_edge(0,1) g.add_edge(0,5) g.add_edge(2,0) g.add_edge(2,3) g.add_edge(3,2) g.add_edge(3,5) g.add_edge(4,2) g.add_edge(4,3) g.add_edge(5,4) g.add_edge(6,0) g.add_edge(6,4) g.add_edge(6,8) g.add_edge(6,9) g.add_edge(8,6)