dfs

def dfs(graph, v, visited):

    # ν˜„μž¬ λ…Έλ“œμˆ˜ν–‰, 방문처리
    print(v, end=' ')
    visited[v] = True

    # μΈμ ‘λ…Έλ“œ 탐색
    for i in graph[v]:
        # λ°©λ¬Έ μ•ˆλ˜μ–΄μžˆμœΌλ©΄
        if not visited[i]:
            # μž¬κ·€
            dfs(graph,i,visited)

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

visited = [False]*9

# 1 은 ν˜„μž¬λ…Έλ“œ
dfs(graph,1,visited)

Last updated