티스토리 뷰
문제:
코드 :
import sys
from collections import deque
# 방문 : 1 & 방문x : 0
def DFS(V):
visited_dfs[V] = 1
print(V, end= ' ')
for i in range(1, N+1):
if visited_dfs[i] == 0 and graph[V][i]==1:
DFS(i)
def BFS(V):
queue = deque([V])
visited_bfs[V] = 1
while queue:
V = queue.popleft()
print(V, end= ' ')
for i in range(1, N+1):
if visited_bfs[i] == 0 and graph[V][i] == 1:
queue.append(i)
visited_bfs[i] = 1
input = sys.stdin.readline
# 정점의 개수, 간선의 개수,탐색 시작 정점 번호
N, M, V = map(int, input().rstrip().split())
# 방문 정점 리스트
visited_dfs = [0]*(N+1)
visited_bfs = [0]*(N+1)
# 그래프
graph = [[0]*(N+1) for _ in range(N+1)]
# 간선 입력 & 연결
for i in range(M):
n1, n2 = map(int, input().rstrip().split())
graph[n1][n2] = graph[n2][n1] = 1
DFS(V)
print()
BFS(V)
풀이:
DFS
- 깊이 우선 탐색 / 스택 or 재귀로 구현 가능 / 보통 재귀로 구현
- 경로의 특징 저장 가능해서 관련 문제에 사용!
- graph[][] 생성 후 간선 입력 받아서 1로 지정 해주기 / 방문 정점 리스트 생성
BFS
- 너비 우선 탐색 / 큐로 구현
- 최단거리 문제에 사용!
- deque 공부 좀 더..
반응형
'Programming > 백준' 카테고리의 다른 글
[Python] 백준 2501: 약수 구하기 파이썬 (0) | 2024.01.14 |
---|---|
[Python] 백준 10810 : 공 넣기 파이썬 (0) | 2024.01.09 |
[Python] 백준 10811 : 바구니 뒤집기, 파이썬 (0) | 2024.01.09 |
래퍼런스 (0) | 2023.09.02 |
230228 [2775: 부녀회장이 될거야] (0) | 2023.09.02 |
공지사항
최근에 올라온 글
최근에 달린 댓글
- Total
- Today
- Yesterday
링크
TAG
- 스테이블디퓨전
- lgaimers
- AIRUSH
- 코랩에러
- MYSQL
- StableDiffusion
- C언어
- gan
- Aimers
- HyperCLOVA
- WGAN
- 코딩공부
- SQL
- 구글코랩
- 코테준비
- 테크서밋
- 드림부스
- AIRUSH2023
- 논문읽기
- SKTECHSUMMIT
- DALLE
- 기술컨퍼런스
- CLOVAX
- 파이썬코테
- 프로그래머스
- 논문리뷰
- dreambooth
- AI컨퍼런스
- 파이썬
- 코테
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | |
7 | 8 | 9 | 10 | 11 | 12 | 13 |
14 | 15 | 16 | 17 | 18 | 19 | 20 |
21 | 22 | 23 | 24 | 25 | 26 | 27 |
28 | 29 | 30 | 31 |
글 보관함