포스트

그래프 탐색 알고리즘

그래프 탐색 알고리즘 : DFS & BFS

  • 탐색(Search)이란 많은 양의 데이터 중에서 원하는 데이터를 찾는 과정을 말합니다.
  • 대표적인 그래프 탐색 알고리즘으로는 DFSBFS가 있습니다.
  • DFS/BFS는 코딩 테스트에서 매우 자주 등장하는 유형
  • 깊이 우선 탐색이라고도 부르며 그래프에서 깊은 부분을 우선적으로 탐색하는 알고리즘
  • 스택 자료구조(혹은 재귀함수)를 이용하며, 구체적인 동작 과정은 다음과 같음
    1. 탐색 시작 노드를 스택에 삽입하고 방문 처리를 함.
    2. 스택의 최상단 노드에 방문하지 않은 인접한 노드가 하나라도 있으면 그 노드를 스택에 넣고 방문 처리. 방문하지 않은 인접노드가 없으면 스택에서 최상단 노드를 꺼냄.
    3. 더 이상 2번의 과정을 수행할 수 없을 때까지 반복.
  • 너비 우선 탐색이라고도 부르며, 그래프에서 가까운 노드부터 우선적으로 탐색하는 알고리즘
  • 큐 자료구조를 이용하며, 구체적인 동작 과정은 다음과 같음
    1. 탐색 시작 노드를 큐에 삽입하고 방문 처리를 함.
    2. 큐에서 노드를 꺼낸 뒤에 해당 노드의 인접 노드 중에서 방문하지 않은 노드를 모두 큐에 삽입하고 방문처리.
    3. 더 이상 2번의 과정을 수행할 수 없을 때가지 반복.
이 기사는 저작권자의 CC BY 4.0 라이센스를 따릅니다.