[알고리즘]0X09 BFS

.·2023년 1월 20일

BFS(Breadth First Search)

: 다차원 배열에서 각 칸을 방문할 때 너비를 우선으로 방문하는 알고리즘

과정

  1. 시작하는 칸을 큐에 넣고 방문했다는 표시를 남김
  2. 큐에서 원소를 꺼내어 그 칸에 상하좌우로 인접한 칸에 대해 3번을 진행
  3. 해당 칸을 이전에 방문했다면 아무 것도 하지않고, 처음으로 방문했다면 방문했다는 표시를 남기고 해당 칸을 큐에 삽입
  4. 큐가 빌 때까지 2번을 반복

    모든 칸이 큐에 1번씩 들어가므로 시간복잡도는 칸이 N일 때 O(N)

  • 자주하는 실수
    1. 시작점에 방문했다는 표시를 남기지 않는다.
    1. 큐에 넣을때 방문했다는 표시를 하는 대신 큐에서 빼낼 때 방문했다는 표시를 남겼다.
    2. 이웃한 원소가 범위를 벗어나는지에 대한 체크를 잘못했다.
profile
공부하고 정리하는 블로그

0개의 댓글