BFS (3) 썸네일형 리스트형 [BOJ/백준] 1697번 숨바꼭질 | BFS | 파이썬 문제 풀이 from collections import deque def bfs(start, end): queue = deque() queue.append(start) while queue: x = queue.popleft() if x == end: return visited[x] for nx in (x-1, x+1, x*2): if 0 [BOJ/백준] 7576번 토마토 | BFS | 파이썬 문제 풀이 from collections import deque def bfs(queue, box): global days dx, dy = [-1, 1, 0, 0], [0, 0, 1, -1] while queue: x, y = queue.popleft() for i in range(4): nx = x + dx[i] ny = y + dy[i] if 0 깊이 우선 탐색(DFS)과 너비 우선 탐색(BFS) +백준 1260 문제풀이🙋♂️ DFS와 BFS는 대표적인 그래프 탐색 알고리즘이다. *그래프(graph): 노드(N, node)와 그 노드를 연결하는 간선(E, edge)을 하나로 모아놓은 자료구조 *탐색(search): 많은 양의 데이터 중 원하는 데이터를 찾는 과정 DFS (Depth-First Search, 깊이 우선 탐색) 그래프에서 깊은 부분을 우선적으로 탐색하는 알고리즘 재귀 함수 또는 스택 자료구조를 사용하여 구현 동작 과정 1. 탐색 시작 노드를 *스택에 삽입하고 방문 처리 2. 스택의 최상단 노드에 방문하지 않은 인접 노드가 하나라도 있으면 그 노드를 스택에 넣고 방문처리 3. 방문하지 않은 인접 노드가 없으면 스택에처 최상단 노드 꺼내기 4. 더 이상 수행할 수 없을 때 까지 2와 3을 반복 *스택(stack): 값.. 이전 1 다음