How do I get the giant component of a NetworkX graph?
In networkx 2.4, nx.connected_component_subgraphs()
is deprecated, so the following should work:
Gcc = sorted(nx.connected_components(G), key=len, reverse=True)
G0 = G.subgraph(Gcc[0])
G0 is the giant component.
In networkx 1.9, connected_components_subgraphs
returns an iterator (instead of a sorted list). The values yielded by the iterator are not in sorted order. So to find the largest, use max
:
giant = max(nx.connected_component_subgraphs(G), key=len)
Sorting is O(n log n). Taking the max is O(n).