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)
示例#2
0
    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)))


示例#3
0
    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)))
示例#4
0
    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)
示例#6
0
    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)