@not_implemented_for('directed')
def articulation_points(G):
 seen = set()
 for articulation in _biconnected_dfs(G, components=False):
  if (articulation not in seen):
   seen.add(articulation)
   (yield articulation)

@ not_implemented_for ( 'directed' ) def articulation_points ( G ) : seen = set ( ) for articulation in _biconnected_dfs ( G , components = False ) : if ( articulation not in seen ) : seen . add ( articulation ) ( yield articulation )
yield the articulation points .