[알고리즘] DFS / BFS 개념

이아현·2023년 6월 2일
0

자료구조

목록 보기
2/4
post-thumbnail

✅ DFS : 깊이 우선 탐색

  • 그래프에서 깊은 부분을 우선적으로 탐색하는 알고리즘
  • 스택(후입선출) 자료구조를 이용
  • 재귀함수를 이용

✔️ DFS 동작 과정

  1. 탐색 시작 노드를 스택에 삽입하고 방문 처리
  2. 스택의 최상단 노드에 방문하지 않은 인접노드가 있으면 그 인접노드를 스택에 넣고 방문처리
  3. 방문하지 않은 인접 노드가 없으면 스택에서 최상단 노드를 꺼낸다.
  4. 2, 3번의 과정을 더 이상 수행할 수 없을 때까지 반복


✅ BFS : 너비 우선 탐색

  • 그래프에서 가까운 노드부터 탐색하는 알고리즘
  • 큐(선입선출) 자료구조를 이용

✔️ BFS 동작 과정

  1. 탐색 시작 노드를 큐에 삽입하고 방문 처리
  2. 큐에서 노드를 꺼내 해당 노드의 인접 노드 중에서 방문하지 않은 노드를 모두 큐에 삽입하고 방문 처리
  3. 2번의 과정을 더 이상 수행할 수 없을 때까지 반복\
profile
PM을 지향하는 FE 개발자 이아현입니다 :)

0개의 댓글