Find all bridges using Tarjan's algorithm.
Remove bridges from the graph (conceptually, do not modify the original).
Each connected component in the remaining graph is a -edge-connected component.
Run DFS or BFS on the bridge-removed graph to identify components. Vertices in the same component have no bridges between them, meaning they remain connected even if any single edge fails.