에지 가중치가 1 단위인 그래프에서 소스에서 다른 모든 노드까지의 최단 거리
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]);
}
}
Reference
이 문제에 관하여(에지 가중치가 1 단위인 그래프에서 소스에서 다른 모든 노드까지의 최단 거리), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://dev.to/prashantrmishra/shortest-distance-from-source-to-all-other-nodes-in-the-graph-where-the-edge-weight-is-1-unit-40nb텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)