public Set<Edge<T>> getBridge(Graph<T> graph){
        
        Set<Edge<T>> result = new HashSet<Edge<T>>();
        Map<Vertex<T>,Integer> discovery = new HashMap<Vertex<T>,Integer>();
        Map<Vertex<T>,Integer> low = new HashMap<Vertex<T>,Integer>();
        Map<Vertex<T>,Vertex<T>> parent = new HashMap<Vertex<T>,Vertex<T>>();
        Map<Vertex<T>,Boolean> visited = new HashMap<Vertex<T>,Boolean>();
        
        for(Vertex<T> vertex : graph.getAllVertex()){
            if(!visited.containsKey(vertex)){
                BridgeUtil(vertex,result,discovery,low,parent,visited);
            }
        }
        return result;
    }
http://www.geeksforgeeks.org/bridge-in-a-graph/
src/com/interview/graph/Bridge.java