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