본문 바로가기

dfs

BFS and DFS with Java BFS(Breadth-First Search, 너비 우선 탐색)와 DFS(Depth-First Search, 깊이 우선 탐색)는 그래프를 탐색하는 두 가지 기본적인 방법입니다. 너비 우선 탐색 (BFS) BFS는 그래프의 가장 가까운 노드부터 탐색하는 방식입니다. 즉, 시작 노드로부터 거리에 따라 순차적으로 탐색합니다. BFS는 큐(Queue)를 사용하여 구현합니다. 특징: 모든 노드를 방문할 때까지 각 노드를 거리 순으로 방문합니다. 사용 경우: 최단 경로를 찾거나, 그래프의 모든 노드를 방문하는 경우에 유용합니다. 깊이 우선 탐색 (DFS) DFS는 그래프의 노드를 깊이 우선으로 탐색하는 방식입니다. DFS는 스택(Stack) 또는 재귀 함수를 사용하여 구현합니다. 특징: 하나의 경로를 끝까지 탐색한.. 더보기
BFS and DFS with Java BFS(Breadth-First Search, 너비 우선 탐색)와 DFS(Depth-First Search, 깊이 우선 탐색)는 그래프를 탐색하는 두 가지 기본적인 방법입니다. 너비 우선 탐색 (BFS) BFS는 그래프의 가장 가까운 노드부터 탐색하는 방식입니다. 즉, 시작 노드로부터 거리에 따라 순차적으로 탐색합니다. BFS는 큐(Queue)를 사용하여 구현합니다. 특징: 모든 노드를 방문할 때까지 각 노드를 거리 순으로 방문합니다. 사용 경우: 최단 경로를 찾거나, 그래프의 모든 노드를 방문하는 경우에 유용합니다. 깊이 우선 탐색 (DFS) DFS는 그래프의 노드를 깊이 우선으로 탐색하는 방식입니다. DFS는 스택(Stack) 또는 재귀 함수를 사용하여 구현합니다. 특징: 하나의 경로를 끝까지 탐색한.. 더보기
DFS and BFS import java.util.LinkedList; import java.util.Queue; import java.util.Scanner; public class GraphTest { static int n, m,v; //정점의 개수, 간선의 개수, 시작 정점을 나타내는 변수 static int[][] graph; //인접 행렬을 나타내는 graph 배열 static boolean[] visited; //정점의 방문 여부를 나타내는 visited 배열 public static void main(String[] args) { Scanner sc = new Scanner(System.in); n = sc.nextInt(); m = sc.nextInt(); v = sc.nextInt(); System.out.. 더보기