@not_implemented_for('directed')
def biconnected_components(G):
 for comp in _biconnected_dfs(G, components=True):
  (yield set(chain.from_iterable(comp)))

@ not_implemented_for ( 'directed' ) def biconnected_components ( G ) : for comp in _biconnected_dfs ( G , components = True ) : ( yield set ( chain . from_iterable ( comp ) ) )
return a generator of sets of nodes .