A simple linear-time algorithm for finding all the
3-edge-connected components of an undirected graph is presented.
The algorithm performs only one depth-first search over the given
graph. Previously best known algorithms perform multiple
depth-first searches in multiple phases.