Tarjan's algorithm for finding bridges in a graph is found here: http://en.wikipedia.org/wiki/Bridge_(graph_theory)#Tarjan.27s_Bridge-finding_algorithm.
However, I don't understand the condition for checking if an edge is a bridge. I get that L(w) = w is a necessary condition, but I think that the condition for H(w) < w + ND(w) is redundant, since you're always guaranteed for that to be true (when doing the pre-order traversal, all the vertices in the subtree of w are visited consecutively and are numbered consecutively, and H(W) has to be in the subtree of w, making H(W) < w + ND(W) always true).
So I'm curious if the H(W) < w + ND(W) condition is even necessary, and if so, can you provide an example case where it is needed?