[algorithm] 너비 우선 탐색(BFS)
·
algorithm/theory
들어가며오늘은 알고리즘에 조금이라도 관심이 있고 코딩테스트를 준비하는 사람이라면누구나 알만한 주제인 BFS에 대해 알아볼 것이다BFS는 코딩테스트 단골 유형으로 출제되고 응용 문제도 많아서BFS 코드의 기본 틀은 어느정도 암기를 해야 문제푸는데에 수월할 것이다 BFS란BFS는 Breadth First Search의 약자로 너비 우선 탐색이라는 의미를 가진다주어진 속성을 만족하는 노드를 찾기 위해 트리를 탐색하는 알고리즘이다. 너비 우선 탐색이라는게 무슨말인지 의문을 가질 수 있다트리 구조에서 가로 방향을 너비라고하고 세로 방향을 깊이라고 한다너비 우선 탐색은 같은 깊이의 가로 방향의 노드들을 전부 다 탐색하고그 다음 깊이로 내려가 또 같은 깊이의 노드들을 탐색하는 방식이다 위의 사진을 예시로 들면1 ->..