본문 바로가기
알고리즘&자료구조/BFS

DFS(Depth First Search)

by do_ng 2024. 2. 19.

출처:https://blog.encrypted.gg/942

DFS -> 스택 

BFS -> 큐

 

원소하나를 pop하고 인접한 데이터를 살펴본다는 알고리즘 흐름은 똑같지만 방문 순서에 있어서 큰 차이가 있음

BFS는 주변으로 동시에 퍼져나가기 때문에 시작위치부터 각 목적지까지의 거리를 측정할 수 있지만 DFS는 한 방향으로 막힐 때 까지 직진을 하다가 다시 시작위치로 가서 다른 방향으로 이동하는 방식이기 때문에 인접한 칸이 현재 보는 칸보다 1만큼 더 떨어져있다라는 성질이 BFS에서는 성립하지 않음

 

DFS와 BFS 둘 다 Flood Fill(이동가능한 구역을 채우는 것) 문제를 해결 할 수 있지만 거리 측정의 경우 BFS로만 해결이 가능하기 때문에 대부분 BFS를 사용해서 문제를 푼다.

DFS는 스택을 써서 다차원 배열의 순회를 처리하는 알고리즘이고, 나중에 그래프와 트리라는 자료구조를 배울 때 DFS를  사용한다 정도로만 기억

 

 

 

 

 

 

 

 

 

 

 

'알고리즘&자료구조 > BFS' 카테고리의 다른 글

백준 1697  (1) 2024.04.23
백준 4179  (2) 2024.04.21
백준 7576  (1) 2024.04.20
백준 2178  (1) 2024.04.18
BFS(Breadth First Search)  (2) 2024.04.18