기타/알고리즘

DFS 알고리즘

pastime 2020. 9. 2. 11:54
728x90

 

def dfs(graph, v, visited):
    visited[v] = True # 방문체크
    print(v, end=' ') # 방문한곳 출력, 한줄로 출력하기 위해 \n이 아닌 띄어쓰기

    for i in graph[v]: # 그래프를 돌면서
        if not visited[i]: # 만약 방문하지 않았다면
            dfs(graph, i, visited) # 재귀함수

#graph 값
graph = [ 
    [],
    [2,3,8],
    [1,7],
    [1,4,5],
    [3,5],
    [3,4],
    [7],
    [2,6,8],
    [1,7]
]

visited = [False] * 9 # 방문여부를 전부다 False로 시작
dfs(graph, 1, visited) # 그래프, 시작할 위치, 방문여부

가장 기본적인 dfs 알고리즘이다.

 

 

728x90