예시)
# 한 노드에 연결되어있는 모든 노드들을 탐색하고 나서, 다시 그 다음 노드의 연결되어있는 노드들을 탐색
# graph, v(현재 노드), visited
# 노드의 이름과 매칭되게끔, 노드0은 건너뛴다
def dfs(graph,v,visited):
visited[v] = True
print(v, end = " ")
for i in graph[v]:
if not visited[i]:
dfs(graph,i,visited)
예시)
from collections import deque
def bfs(v):
visited = []
need_visit = deque([v])
while(need_visit):
node = need_visit.popleft()
if not node in visited:
visited.append(node)
need_visit.extend(graph[node])
for i in visited:
print(i, end = " ")