[자료구조] BFS / DFS

MihyunCho·2021년 4월 19일
0
post-thumbnail

그래프를 탐색하는 방법

  1. 너비 우선 탐색(BFS)
  2. 깊이 우선 탐색(DFS)

여기서 탐색이란, 하나의 정점으로부터 시작해, 차례대로 모든 정점들을 한 번씩 방문하는 것을 의미한다.

: 가장 인접한 정점 먼저 탐색. 너비를 우선적으로 탐색하는 방법

특징

  • 재귀적으로 작동하지 않음
  • 답이 되는 경로가 여러개인 경우에도 최단 경로임을 보장.
  • 최악의 경우 모든 노드에 대한 정보를 위한 공간을 요구

: 최대한 깊이 탐색한 뒤, 더이상 깊이 탐색할 곳이 없을 경우에 옆으로 이동하여 탐색. 깊이를 우선적으로 탐색하는 방법

특징

  • 자기 자신을 호출하는 순환 알고리즘 형태
  • 목표 노드가 깊은 단계에 있을 경우, 해를 빠르게 구할 수 있음. 저장 공간의 수요가 비교적 적다
  • 해가 없는 경로에서 낭비할 수 있으며, 얻어진 해가 최단 경로라는 보장이 없다.

이미지 출처 https://m.blog.naver.com/dpfkdlt/221249154387

profile
Sic Parvis Magna 🧩

0개의 댓글