[프로그래머스 / Java] 혼자 놀기의 달인
·
알고리즘 & 코딩 테스트/Java로 푼 코딩 테스트
1. 해답 코드import java.util.*;class Solution { static boolean[] visit; static int depth; public int solution(int[] cards) { int answer = 1; int len = cards.length; visit = new boolean[len]; List list = new ArrayList(); for (int i = 0; i  2. 해설노드들이 이어져있고 하나씩 탐색하다가 탐색 할 수 없는 곳에서 멈춘다 -> DFS 문제 solution 메서드는 배열을 순회하면서 방문하지 않은 노드를 발견하면 DFS를 시작합니다. open 메서드는 해당..
[Java / 알고리즘] 그래프 알고리즘 BFS와 DFS
·
알고리즘 & 코딩 테스트/알고리즘
대표적인 그래프 탐색 알고리즘으로는 너비 우선 탐색(BFS, Breadth First Search)과 깊이 우선 탐색(DFS, Depth First Search)가 있다. 1. 너비 우선 탐색 (BFS, Breadth First Search) 정점들과 같은 레벨에 있는 노드들(형제 노드들)을 먼저 탐색하는 방식이다 위 그림에서는, A - B - C - D - G - H - I - E - F - J 순으로 탐색한다 BFS는 재귀적으로 동작하지 않고 방문한 노드들을 차례로 저장한 후 꺼낼 수 있는 큐(Queue)를 사용한다 즉, 선입선출(FIFO) 원칙을 탐색한다 시작 정점으로부터 가까운 정점을 먼저 방문하고 멀리 떨어져 있는 정점을 나중에 방문하기 때문에 두 노드 사이의 최단 경로를 찾을 때 주로 사용한다..
마볼링
'dfs' 태그의 글 목록