백준1260

    [백준,BOJ 1260] DFS와 BFS(JAVA 구현, 재풀이)

    -풀이 이전에 풀이했던 DFS, BFS문제는 그래프의 구현을 위해 인접 행렬을 사용한 경험이 있었기 때문에, 이번에는 인접 리스트로 그래프를 구현해 풀어보고자 했다. import java.util.ArrayList; import java.util.Arrays; import java.util.Collections; import java.util.LinkedList; import java.util.Queue; import java.util.Scanner; class Main { // DFS 메소드 static void dfs(ArrayList a, boolean[] check, int v) { if(check[v] == true) return; // 재귀호출 종료 부, 방문한 적이 있으면 메소드 종료 che..

    [백준,BOJ 1260] DFS와 BFS(JAVA 구현)

    -내 생각 저번 게시글에서 공부했던 그래프의 순회 기법의 두 가지인 깊이 우선 탐색(DFS), 너비 우선 탐색(BFS)이다. 그래프의 구현은 인접 행렬을 이용하여 간단하게 구현할 수 있었고, DFS와 BFS의 구현의 경우에 DFS는 재귀 호출 형태로 구현이 쉬웠지만, BFS는 재귀나 스택이 아닌 큐만을 이용한다는 점을 간과해버리고 BFS도 재귀로 구현할 뻔했다.. 저번의 코드를 참고해서 작성할 수 있었다. -해법 코드를 보면서 이해해보자. import java.util.*; public class Main { static int node[][]; // 인접행렬 배열 static int check[]; // 노드의 방문여부 표시 배열 static Queue queue = new LinkedList(); /..