[TIL] 알고리즘 BFS & DFS 정리
·
알고리즘
알고리즘 문제를 풀다 보면 격자, 네트워크, 지도, 트리 등 연결 구조를 다루는 경우가 많습니다.이때 필요한 것이 바로 DFS(깊이 우선 탐색)과 BFS(너비 우선 탐색)입니다.1. DFS (Depth-First Search, 깊이 우선 탐색)출발점에서 한 방향을 정하면 끝까지 깊게 들어간 뒤, 더 이상 갈 수 없을 때 다시 되돌아와서 다른 경로를 탐색하는 방식입니다.재귀 함수나 스택(Stack)으로 구현할 수 있습니다. ex) 미로에 들어간 쥐가 한쪽 길을 끝까지 파고 들어갔다가 막히면 다시 돌아와서 다른 길을 찾는 것과 같습니다. - 장점 : 구현이 간단하고 코드가 짧음- 단점 : 재귀 호출로 인해 입력 크기가 크면 스택 오버플로우 위험- 적합한 문제 : 모든 경우를 따져야 하는 문제, 영역 탐색 문..