그래프와 트리 구조를 탐색하는 두 가지 핵심 전략인 BFS(너비 우선 탐색)와 DFS(깊이 우선 탐색)의 작동 원리를 비교 분석하고 문제의 성격에 따른 최적의 알고리즘 선택 기준을 정리했다.
탐색의 우선순위를 어디에 두느냐에 따라 해결할 수 있는 문제의 종류와 효율성이 어떻게 달라지는지 심도 있게 파악했다.
시작 노드에서 가까운 인접 노드부터 차례로 방문하는 BFS를 큐 자료구조를 사용하여 구현하고 최단 경로를 보장하는 특성을 확인했다.
반면 한 방향을 끝까지 탐색한 후 되돌아오는 DFS를 스택이나 재귀 함수를 통해 구현하며 모든 경로를 탐색하거나 특정 경로의 특징을 저장하는 데 유리함을 파악했다.
두 방식 모두 그래프의 모든 노드와 간선을 확인하므로 O(V + E)의 시간 복잡도를 가지지만 메모리 사용량은 탐색의 너비나 깊이에 따라 달라지는 트레이드오프를 분석했다.
알고리즘 선택은 문제의 본질을 꿰뚫는 과정이며 가중치 없는 그래프에서 최단 거리가 핵심이라면 BFS를 모든 가능성 확인이나 복잡한 제약 조건이 중요하다면 DFS를 우선적으로 고려해야 함을 깨달았다.
상황에 맞는 탐색 전략을 수립하는 능력이 알고리즘 문제 해결의 성패를 가르는 결정적인 요소임을 실제 예제 풀이를 통해 체감했다.
탐색 알고리즘의 기초를 탄탄히 다짐으로써 더 복잡한 그래프 이론으로 나아갈 수 있는 자신감을 얻었다.
복잡한 관계망 속에서 데이터를 효율적으로 찾아내기 위해 두 탐색 기법의 장단점을 명확히 인지하고 적재적소에 활용했다.
너비와 깊이라는 두 가지 탐색 축을 통해 데이터의 바다를 체계적으로 항해했다.
미로 같은 그래프 구조 속에서 최적의 해답을 찾아내는 논리적 경로를 완성했다.