728x90
반응형
# V개의 노드, E개의 간선이 주어질 때
V, E = map(int, input().split())
graph = [[] for i in range(V+1)]
# 그래프 구성
for e in range(E):
u, v = map(int, input().split())
graph[u].append(v) # 단방향일 때
#graph[v].append(u) # 양방향일 때
# 방문 정보를 저장할 공간
visited = [0] * (V+1) # 인덱스 에러(혼동)을 방지하기 위해 V+1만큼 메모리 생성
# DFS 함수 구성
def dfs(v):
# 해당 정점을 방문
visited[v] = 1; # print(v, end=" "); # 방문 정보가 궁금할 때 확인 가능
# v의 방문하지 않은 인접 정점을 탐색
for w in graph:
if visited[w] == 0:
dfs(w)
'Algorithm Study > 이론' 카테고리의 다른 글
[알고리즘] 패턴 매칭 알고리즘 소스코드 (0) | 2022.08.18 |
---|---|
[파이썬] 시프트 연산자 이용 (0) | 2022.08.16 |
[알고리즘] 문자열 패턴 매칭 (0) | 2022.08.12 |
[확률과 통계] 순열과 조합 (0) | 2022.02.15 |
[이코테 자료구조] 5. 이진 탐색 (0) | 2022.01.13 |