DFS 완전탐색(순환 무향 그래프)

송용진·2023년 7월 18일
0
post-thumbnail

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
profile
백엔드 개발자

1개의 댓글

comment-user-thumbnail
2023년 7월 18일

글이 많은 도움이 되었습니다, 감사합니다.

답글 달기