가장 간단한 DFS

Yeseul Han·2022년 8월 16일
0

가장 간단한 DFS

graph = {
1: [2, 5, 9],
2: [1, 3],
3: [2, 4],
4: [3],
5: [1, 6, 8],
6: [5, 7],
7: [6],
8: [5],
9: [1, 10],
10: [9]
}
visited = []

1. 시작 노드인 1부터 탐색

2. 현재 방문한 노드를 visited_array에 추가

3. 현재 방문한 노드와 인접하지 않은 노드 중 방문하지 않은 노드에 방문합니다.


def dfs_recursion(adjacent_graph, cur_node, visited_array):
    # 구현해보세요!
    visited_array.append(cur_node)

    for i in adjacent_graph:
      if i not in visited_array : #이게 사실상 탈출조건!!
        dfs_recursion(adjacent_graph, i , visited_array)
	dfs_recursion(graph, 1, visited)  # 1 이 시작노드입니다!
profile
코딩 잘하고 싶다

0개의 댓글