dfs2 DFS와 BFS 알고리즘 완벽 가이드!! [탐색 알고리즘의 기본부터 예제 코드까지] 포스팅 하나로 탐색 알고리즘은 그래프를 순회하거나 특정 조건을 만족하는 경로를 찾는 데 자주 사용된다. 특히 깊이 우선 탐색(DFS)과 너비 우선 탐색(BFS)은 가장 기초적이면서도 중요한 탐색 기법으로, 많은 문제 해결의 기반이 된다. 이번 포스팅 에서는 DFS와 BFS의 개념, 작동 방식, 예제 코드, 그리고 두 알고리즘의 차이점으로 작성해보려 한다. DFS (Depth-First Search: 깊이 우선 탐색)DFS란?깊이 우선 탐색은 시작 노드에서 한 방향으로 깊게 들어가며 탐색을 진행하는 방식이다. 한 경로를 끝까지 탐색한 후, 더 이상 갈 곳이 없을 때 다른 경로로 이동한다.주요 특징:스택 자료구조(혹은 재귀 호출)를 사용한다.그래프의 경로가 깊은 곳까지 먼저 탐색된다.순환 구조나 무한 루프를 방지하.. Algorithm/Java 2025. 1. 4. [DFS로 탐색하기] 백준 2667번 JAVA : 단지 번호 붙이기 2차원 배열에서 특정 조건을 만족하는 영역(1)을 찾아내고, 해당 영역의 크기를 세는 문제를 해결할 때 DFS(깊이 우선 탐색)를 활용할 수 있다. 이 과정에서 탐색이 진행되는 동안 방문한 노드는 처리하여 중복 방문을 방지하고, 단지의 크기를 반환하는 방식으로 구현한다. 문제 정의예를 들어, 7x7 크기의 2차원 배열이 있다고 가정한다. 배열은 0과 1로 구성되며, 1은 단지의 일부를 나타낸다. 이때, 서로 연결된 1들을 하나의 단지로 간주하고 각 단지의 크기를 구해야 한다.입력 배열은 다음과 같다고 가정한다. 0110100 0110101 1110101 0000111 0100000 0111110 0111000 이 배열에서는 총 세 개의 단지가 존재하며, 각 단지의 크기는 각각 7, 8, 9이다.. Algorithm/Java 2024. 12. 6. 이전 1 다음