
14. 그래프 최단거리 (BFS)
·
알고리즘/Recursive, Tree, Graph(DFS, BFS 기초)
1. 문제 1번 정점으로부터 각 정점으로 가는 최소 간선 수를 차례대로 출력하시오. 입력 6 9 1 3 1 4 2 1 2 5 3 4 4 5 4 6 6 2 6 5 출력 2 : 3 3 : 1 4 : 1 5 : 2 6 : 2 2 - 1. 나의 풀이 ArrayList, Queue 를 사용한다는 걸 보고 바로 풀이에 들어갔다. (풀이 도구에 대한 힌트만 봤다.) 간선의 길이를 나타내는 변수 L을 설정했다. BFS의 흐름을 따라가는 코드를 작성하는 건 쉬웠지만 L을 제대로 저장하기가 쉽지 않았다. //실패한 초기 코드 while(!q.isEmpty()){ int tmp = q.poll(); L++; for (int x : graph.get(tmp)) { if (ch[x] == 0) { ch[x] = 1; q.off..