コード例 #1
0
                            break
                    else:
                        clique.add(v)
                        q.append(v)
        self.cliques.add(frozenset(clique))

    def count(self):
        return len(self.cliques)

    def get_cliques(self):
        return self.cliques


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)
コード例 #2
0
                    v.id = self.component
                    q.append(v)

    def count(self):
        return self.component

    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(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)
コード例 #3
0
ファイル: cc.py プロジェクト: kylebebak/python_algorithms
                    q.append(v)

    def count(self):
        return self.component

    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)
コード例 #4
0
ファイル: scc.py プロジェクト: kylebebak/python_algorithms
                    q.append(v)

    def count(self):
        return self.component

    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(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)