DFS 완전탐색
순환 무향 그래프
방문한 순서대로 노드를 출력
내 코드
def sol(graph, start, visited=[]):
print(start)
visited.append(start)
for node in graph[start]:
if node not in visited:
sol(graph,node)
graph = {
1 : [2,3],
2 : [1,4],
3 : [1],
4 : [2]
}
sol(graph,1)
"""
출력
1
2
4
3
"""
예시 코드
graph = {
1 : [2, 3],
2 : [1, 4],
3 : [1],
4 : [2]
}
def dfs(graph, visited, node):
print(node)
visited[node] = True
for nei_node in graph[node]:
if nei_node in visited:
continue
dfs(graph, visited, nei_node)
def sol(graph):
visited = {}
dfs(graph, visited, 1)
sol(graph)
# 출력
# 1
# 2
# 4
# 3
글이 많은 도움이 되었습니다, 감사합니다.