BFS
가까운 녀석들부터 조진다 | 최단거리
•
활용
◦
queue
◦
visit 배열
def bfs(graph, V, N):
visited = [0] * (N+1)
que = deque()
que.append(V)
visited[V] = 1
while(que):
v = que.popleft()
print(v , end=' ')
for node in graph[v]:
if not visited[node]:
visited[node] = 1
que.append(node)
Python
복사
DFS
def dfs(ii, jj):
di = [1, -1, 0, 0]
dj = [0, 0, -1, 1]
for idx in range(4):
move_i = ii + di[idx]
move_j = jj + dj[idx]
if (0 <= move_i < n) and (0 <= move_j < m):
if graph[move_i][move_j] == 1:
graph[move_i][move_j] = 0
dfs(move_i, move_j)
Python
복사