Clone Graph Problem : Recursive Approach - Java

 Programming Language - Java

Algorithm Design - Recursion 


public Vertex cloneGraph(Vertex vertex) {
        if(vertex == null) return null;
        return cloneGraph(vertex,new HashMap<>());
    }

    private Vertex cloneGraph(Vertex begin, Map<Integer,Vertex> map) {
        if(map.containsKey(begin.weight)) return map.get(begin.weight);
        Vertex vertex = new Vertex(begin.weight);
        map.put(begin.weight,vertex);
        for (Vertex it : begin.neighbors)
            vertex.neighbors.add(cloneGraph(it,map));
        return vertex;
   }

Comments

Popular posts from this blog

N-Queen Arrangement Problem [Backtracking]

Rat In A Maze Problem - Solution in Java [Recursion and Backtracking]