- BFS
- 백준 구현
- Spring 초보
- Django
- 장고 기초
- Django 기초
- 백준 다이나믹프로그래밍
- 스프링 기초
- 백준
- 알고리즘 문제
- programmers
- TIL
- 이분탐색
- 백준 DFS와 BFS
- 장고
- 프로그래머스
- dp 알고리즘
- 알고리즘 공부
- 항해99 코테 스터디
- 프로그래머스 레벨1
- 스프링 초보
- 백준 dp
- spring 기초
- 코테
- 프로그래머스 level1
- 코딩테스트 연습
- 코딩테스트
- 99클럽 코테 스터디
- 코테 연습
- 항해99
- Today
- Total
목록백준 DFS와 BFS (2)
일일구름 IT
이 문제는 DFS와 BFS 그래프 탐색을 이요해서 푸는 문제이다. 일단 DFS와 BFS의 개념에 대해서 알아보겠다. 깊이 우선 탐색 (DFS, Depth-First-Search)- 루트 노드에서 시작해서 다음 분기를 넘어가기 전까지 해당 분기의 모든 노드를 탐색- 탐색할때 한 방향으로 더이상 탐색할게 없을때까지 탐색한 후 돌아와 다른 방향 다시 탐색- 모든 노드를 탐색해야 하는 경우에 적합- 속도는 BFS보다 느림- 순환 알고리즘 형태, 재귀함수 사용O 넓이 우선 탐색 (BFS, Breadth-First-Search)- 루트 노드에서 시작하여 인접한 노드를 순서대로 탐색- 탐색할때 가까운 노드를 먼저 방문하고 먼 노드를 나중에 탐색- 두 노드 사이의 최단 거리 또는 경로를 구하는 경우에 적합- 재귀함수 ..
이미 학교에서 배운 부분이지만 오랜만에 코딩을 하려고 하니 기억이 안났다. DFS, BFS는 다른 문제를 풀기 위해서도기본적이고 중요한 개념라고 생각하여 이 문제를 먼저 풀게 되었다. [문제] 그래프를 DFS로 탐색한 결과와 BFS로 탐색한 결과를 출력하는 프로그램을 작성하시오. 단, 방문할 수 있는 정점이 여러 개인 경우에는 정점 번호가 작은 것을 먼저 방문하고, 더 이상 방문할 수 있는 점이 없는 경우 종료한다. 정점 번호는 1번부터 N번까지이다. [내 코드] # DFS n, m, v = map(int, input().split()) graph = [[] for i in range(n+1)] visited = [False] * (n+1) for j in range(1, m+1): a, b = map(..