[바킹독의 실전 알고리즘] 0x0A강 -DFS
·
Computer Science/자료구조 | 알고리즘
DFS(Depth First Search) 다차원 배열에서 각 칸을 방문할 때 깊이를 우선으로 방문하는 알고리즘 DFS -> 스택 / BFS -> 큐 예시 시작하는 칸을 스택에 넣고 방문했다는 표시를 남김 스택에서 원소 꺼내 그 칸과 상하좌우로 인접한 칸에 대해 3번을 진행 해당 칸을 이전에 방문했다면 아무 것도 하지 않고, 처음으로 방문했다면 방문했다는 표시를 남기고 해당 칸을 스택에 삽입 스택이 빌 때까지 2번을 반복 => 모든 칸이 스택에 1번씩 들어감 -> 시간복잡도는 칸이 N개일 때 O(N) (0, 0)과 상하좌우로 이어진 모든 파란칸 확인 (0, 0)에 방문했다는 표시 + 해당 칸 -> 스택에 넣음 스택이 빌 때까지 스택의 top을 빼고 해당 좌표의 상하좌우를 살펴보면서 스택에 넣어주는 작업 ..