def main(argv): n, edges = files.read_graph(argv[0]) uf = unionfind.QuickFind(n) for edge in edges: uf.union(edge[0], edge[1]) print uf.count() - 1
def main(argv): n, m, edges = files.read_graph(argv[0]) adjacency = graphs.adjacency_table(edges, directed=False) D = [] for i in xrange(1, n + 1): D.append(sum(len(adjacency[node]) for node in adjacency[i])) print ' '.join(str(d) for d in D)
def main(argv): n, m, edges = files.read_graph(argv[0]) nodes = [n for n in xrange(1, n + 1)] D = graphs.breadth_first_search(1, nodes, edges) print ' '.join(str(D[n]) for n in nodes)
def main(argv): n, m, edges = files.read_graph(argv[0]) nodes = [n for n in xrange(1, n + 1)] print len(graphs.tarjan(nodes, edges)) print len(graphs.kosaraju(nodes, edges))
def main(argv): n, m, edges = files.read_graph(argv[0]) nodes = [n for n in xrange(1, n + 1)] print len(graphs.connected_components(nodes, edges, directed=False))
def main(argv): n, m, edges = files.read_graph(argv[0]) nodes = [n for n in xrange(1, n + 1)] degree = graphs.degree_table(edges, directed=False) print ' '.join(str(degree[node]) for node in nodes)