How To Find Subgraphs In A Directed Graph Without Converting To Undirected Graph?
I have a graph that has many subgraphs. I have some edges that connect two nodes in both directions, that is, A-->B and B-->A. The bidirectionality is important, as it repres
Solution 1:
Maybe you are looking for weakly connected components?
That algorithm treats the edges as if they were undirected and returns the connected components in that graph.
In [1]: import networkx as nx
In [2]: G = nx.DiGraph([(1,2),(2,1),(3,4)])
In [3]: for w in nx.weakly_connected_component_subgraphs(G):
...: print(w.edges())
...:
[(1, 2), (2, 1)]
[(3, 4)]
Solution 2:
You are looking for SCC of the graph, that are strongyconnectedcomponent s. They can be found with a variant of DFS (depth first search).
You should take a look at the wiki article.
Post a Comment for "How To Find Subgraphs In A Directed Graph Without Converting To Undirected Graph?"