-
DFS (Depth-First-Search)Python/알고리즘 2022. 8. 30. 18:30
깊이 우선 탐색
# DFS 메서드 정의
def dfs(graph, v, visited):
#현재 노트를 방문 처리
visited[v] = True
print(v, end=' ')
#현재 노트와 연결된 다른 노드를 재귀적으로 방문
for i in graph[v]:
if not visited[i]:
dfs(graph, i, visited)
# 각 노드가 연결된 정보를 표현 (2차원 리스트)
graph = [
[],
[2, 3, 8],
[1, 7],
[1, 4, 5],
[3, 5],
[3, 4],
[7],
[2, 6, 8],
[1, 7]
]
# 각 노드가 방문된 정보를 표현 (1차원 리스트)
visited = [False] * 9
# 정의된 DFS 함수 호출
dfs(graph, 1, visited)1 2 7 6 8 3 4 5
출처 : https://www.youtube.com/watch?v=7C9RgOcvkvo&list=PLRx0vPvlEmdAghTr5mXQxGpHjWqSz0dgC&index=4
'Python > 알고리즘' 카테고리의 다른 글
DFS & BFS 기초 문제풀이 < 음료수 얼려 먹기 > (0) 2022.08.30 BFS (Breadth-First Search) (0) 2022.08.30 최대공약수 계산 (유클리드 호제법) (0) 2022.08.30 팩토리얼 (1) 2022.08.30 스택/큐 (0) 2022.08.29