private void shortestPath(ArrayList<ArrayList<Integer>> adj,int N,int src){ // we have to find the shortest Path from given source to all the //other nodes in the graph. //let's initialize all the distances from the source as infinity. int distance[] = new int[N]; for(int i =0;i<N;i++) distance[i] = Integer.MAX_VALUE; // we will put source distance as 0 as its a starting point distance[src] = 0; //now we will use breadth first search for finding the shortest distance from //source to all other nodes Queue<Integer> q = new LinkedList<>(); q.add(src); while(!q.isEmpty()){ Integer node = q.remove(); //getting distance of all the adjacent nodes of current node for(Integer i : adj.get(node)){ if(distance[i]> (distance[node] + 1)){ distance[i] = distance[node]+1;// since distance of adjacent node will be distance of current node from source + unit distance i.e. 1 q.add(i); } } } for(int i =0;i<N;i++){ System.out.println("distance of "+i+" from source " +src+" is "+ distance[i]); } }
For further actions, you may consider blocking this person and/or reporting abuse
Top comments (0)