Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
Tags
- 방명록 만들기
- 정보보호병 후기
- 행정지역 DB
- jsp
- EER
- 소개딩
- 3단계 지역 DB
- JSTL
- Database
- spring
- 인턴 후기
- reversing.kr
- SessionAttribute
- restapi
- 메모리 포랜식
- ㅁㅇㅂ??ㅇㅈㄷ ㅎㅇㅌ...
- riceteacatpanda
- Forensic 절차
- Layered Architecture
- 소프트웨어 개발보안 경진대회
- mysql
- 네이버 인턴
- PyAmdecoder
- DBMS
- react
- frontend
- Django
- 인턴 지원
- webhacking 처음
- 동읍면 DB
Archives
- Today
- Total
웹찢남
[백준 1260 DFS와 BFS] PYTHON 본문
bfs랑 dfs를 둘다 사용해보는 문제다.
bfs의 경우 너비 우선 탐색이라 시작 노드에 연결된 모든 노드를 탐색한 후
맨 앞의 노드를 기준으로 또 탐색하는 방식이다.
bfs의 경우 깊이 우선 탐색으로 시작 노드에 연결된 맨 앞의 노드를 찾고
그 앞의 노드와 연결된 맨 앞의 노드를 탐색하는 방식이다.
def dfs(V):
visit_list[V]=1
print(V,end=' ')
for i in range(1,N+1):
if(matrix[V][i]==1 and visit_list[i]==0):
dfs(i)
def bfs(V):
Q=[V]
visit_list[V]=0
while(Q):
V=Q.pop(0)
print(V,end=' ')
for i in range(N+1):
if(visit_list[i]==1 and matrix[V][i]==1):
Q.append(i)
visit_list[i]=0
if __name__ == "__main__":
N,E,V=map(int,input().split())
matrix=[[0]*(N+1) for i in range(N+1)]
for i in range(E):
a,b=map(int,input().split())
matrix[a][b]=matrix[b][a]=1
visit_list=[0]*(N+1)
dfs(V)
print()
bfs(V)
'백준 Algorithm' 카테고리의 다른 글
[백준 1003 피보나치 함수] PYTHON (0) | 2021.04.13 |
---|---|
[백준 11726 2xn 타일링] PYTHON (0) | 2021.04.13 |
[백준 1916 최소비용 구하기] PYTHON (0) | 2021.02.26 |
[백준 1927 최소 힙] PYTHON (0) | 2021.02.26 |
[백준 1463 1로 만들기] PYTHON (0) | 2021.02.26 |
Comments