Search code examples
algorithmgraphconnectivityvertices

Find Non needed vertex in a graph


Is there any known algorithm that: for a given connected graph G defined by a list of vertices V and list of edges E detrmines which vertices can be removed while the graph will still be connected?

Thanks for your help.

N.B:

  1. I mean by connected graph that for every two vertices V1 and V2 there is a path between them.
  2. algorithm complexity is an issue

Solution

  • It is a well-known problem. Such vertices are called graph articulation points. It is possible to find them all in O(V + E) using depth-first search. It is easy to find a description of this algorithm(for example, here: http://www.geeksforgeeks.org/articulation-points-or-cut-vertices-in-a-graph/).