본문 바로가기

CS basic/Algorithm

BFS / DFS란 뭘까?

초심자가 공부용으로 작성하는 글. 


BFS : Breadth-First Search, 너비(폭) 우선 탐색

DFS : Depth-First Search, 깊이 우선 탐색 

 

그래프를 탐색하는 방법들이다. 

그래프란? 노드와, 노드를 연결하는 엣지로 이루어져 있는 자료구조. 

 

탐색은, 그래프의 한 노드부터 마지막 노드까지를 방문하는 것을 의미한다고 한다. 

 

DFS는 한 방향으로 갈 수 있는데까지 갔다가 아니면 방향을 틀어서 다른 방향으로 끝까지 갔다가..를 반복하는 방식으로 보인다.

 

BFS는 가까운 거리에 있는 모든 노드를 방문한 다음 없으면 조금 더 먼 곳에 있는 노드들을 방문하는 방식인 것 같고. 

 

그래서, 목표한 바가 어느정도 가깝다고 예상되거나 최단거리를 찾아야 하면 BFS를, 

경로를 다 가보는 게 중요하다면 DFS를 사용하는 듯 하다. 


참고 

https://devuna.tistory.com/32

 

 

'CS basic > Algorithm' 카테고리의 다른 글

알고리즘 다빈출 유형  (0) 2021.09.24