def DFS(v):
visited[v] = True
print(v, end = " ")
for node in adj[v]:
if not visited[node]:
DFS(node)
n = 5
adj = [[],
[2,3],
[1,4,5],
[1,4],
[2,3],
[2]
]
visited = [False] * (n+1)
print("DFS 탐색 순서 : ", end = "")
DFS(1)
from collections import deque
def BFS(s):
visited[s] = True
queue = deque()
queue.append(s)
while queue:
v = queue.popleft()
print(v, end=" ")
for node in adj[v]:
if not visited[node]:
visited[node] = True
queue.append(node)
visited = [False] * (n+1)
print("\nBFS 탐색 순서 : ", end = "")
BFS(1)
# 실행 결과 :
# DFS 탐색 순서 : 1 2 4 3 5
# BFS 탐색 순서 : 1 2 3 4 5